运行oozie协调器工作流的单个实例

时间:2018-04-18 06:32:03

标签: scheduling oozie oozie-coordinator oozie-workflow

我有一个oozie协调员,每30分钟运行一次。

但我想一次只运行一个实例。

(比方说,如果工作流程需要超过30分钟才能完成,我不希望下一个计划工作流程开始运行,直到上一个工作流程完成)

我是否可以在coordinator.xml中设置配置属性来实现此目的?

1 个答案:

答案 0 :(得分:0)

您可以为cooridinator指定并发选项,即可以为给定的协调器同时执行多少操作。 您还可以指定执行策略和超时来控制是否应跳过操作,何时重叠以及哪些操作。

   <coordinator-app name="[NAME]" frequency="[FREQUENCY]"
                    start="[DATETIME]" end="[DATETIME]" timezone="[TIMEZONE]"
                    xmlns="uri:oozie:coordinator:0.1">
      <controls>
        <timeout>[TIME_PERIOD]</timeout>
        <concurrency>[CONCURRENCY]</concurrency>
        <execution>[EXECUTION_STRATEGY]</execution>
      </controls>
      ...

但据我所知,这在Oozie 3.3版中效果不佳。您可以使用较新的版本进行试用。

进一步阅读: https://oozie.apache.org/docs/4.3.0/CoordinatorFunctionalSpec.html#a6.1.6._Coordinator_Action_Execution_Policies