我有oozie协调员工作,工作时间为上午11点,下午12点30分,下午4点,下午7点和下午9点30分。这些协同工作的工作流程是相同的,但它们在不同的时间运行,没有特定的频率。如果频率相同,我会用一个协调员的工作来完成它。
我的问题是,我们如何知道协调员的工作仍在运行,并让其他协调员工作等待/睡觉,直到现有工作正在运行?我们可以通过oozie或者需要编写单独的oozie API / JavaScript或Shell脚本来检查它吗?
谢谢, Asmath。
答案 0 :(得分:0)
您可以通过使用协调员的<input-events>
标记来同步不同协调员中工作流的执行。
例如,您可以创建一个类似
的目录/some/hdfs/dir/coordA-status/SUCCESS-2016-01-26
在每次成功运行工作流A结束时由协调员A运行。
然后,您可以使该目录的存在成为协调员B通过<dataset>
和<input-events>
标签运行的条件。