0

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

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

(比如说,如果工作流需要超过 30 分钟才能完成,我不希望下一个计划的工作流在前一个完成之前开始运行)

我可以在 coordinator.xml 中设置一个配置属性来实现这一点吗?

4

1 回答 1

0

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

   <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

于 2018-04-18T10:15:26.930 回答