我有一个 oozie 协调器,它每 30 分钟运行一次。
但我想一次只运行一个实例。
(比如说,如果工作流需要超过 30 分钟才能完成,我不希望下一个计划的工作流在前一个完成之前开始运行)
我可以在 coordinator.xml 中设置一个配置属性来实现这一点吗?
我有一个 oozie 协调器,它每 30 分钟运行一次。
但我想一次只运行一个实例。
(比如说,如果工作流需要超过 30 分钟才能完成,我不希望下一个计划的工作流在前一个完成之前开始运行)
我可以在 coordinator.xml 中设置一个配置属性来实现这一点吗?
您可以为您的协调器指定并发选项,即给定协调器可以同时工作多少个动作。您还可以指定执行策略和超时来控制是否应跳过操作、何时重叠以及哪些操作。
<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 版中效果不佳。您可以尝试使用较新的版本。