我有一个每30分钟运行一次的oozie协调器。
但是我一次只想运行它的一个实例。
(比如说,如果工作流需要 30 多分钟才能完成,我不希望下一个计划的工作流在上一个工作流完成之前开始运行(
是否有我可以在协调器中设置的配置属性.xml以实现此目的?
您可以为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