【问题标题】:how to make oozie schedule with holiday excluded如何在不包括假期的情况下制作 oozie 日程安排
【发布时间】:2017-03-17 20:52:15
【问题描述】:

除了节假日,我们每天都有源文件到达 hdfs。 我们的 oozie 协调员每天开始观看这些文件。我不希望 oozie 在定义的假期运行。怎么做。如果是假期,协调器不应超时。

【问题讨论】:

  • 我现在正在考虑的一个解决方案是将工作流作为每天的第一个 wf 来检查今天是否是假期(通过外部 api 调用,搜索假期文件)。如果是,它会将所有工作流协调器(bundle)的暂停时间更新到今天(为了找到所有协调器,我们需要一个java api操作来收集范围内的所有协调器/捆绑器jobid),使用命令或api,例如作为 oozie 工作 -oozie localhost:11000/oozie -change 14-20090525161321-oozie-joe -value pausetime=2011-12-01T05:00Z
  • 或者,使用额外的 WF 在节假日生成一组空文件,以便文件触发的 WF 可以启动并不做任何重要的事情并更新其状态。照常营业。
  • 生成额外文件可能不起作用。因为我们可能对源文件夹具有只读权限。空文件也可能触发误报
  • 看起来你陷入了一个复杂的混乱之中。玩得开心!

标签: oozie oozie-coordinator


【解决方案1】:

一种可能的解决方案是定期运行作业,并在假期使用决策节点通过切换案例排除所有作业操作。对于这个将检查这是否是假期的 Java 动作的开始,将此值传播到决策动作,然后决定是否会针对该值运行所需的动作。(oozie 支持工作流中的值从一个动作传播到另一个动作)。对于这两种情况中的每一种情况,请提供不同的消息以供您确认,“今天假期所需的操作已跳过”,否则“假期作业未成功”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多