我们目前正在使用Apache Mesos与Marathon和Chronos来安排长时间运行和批处理过程。
如果我们能够像Oozie那样创建更复杂的工作流程,那就太棒了。比如说文件出现在某个位置或某个应用程序完成或调用API时踢作业。
虽然看起来我们可以用Marathon / Chronos或Singularity做到这一点,但似乎没有现成的接口。
答案 0 :(得分:2)
您可以使用Chronos' /scheduler/dependency
端点指定"在此作业运行之前必须至少运行一次的所有作业。"在每个Chronos作业上执行此操作,您可以构建任意复杂的工作流DAG。
https://airbnb.github.io/chronos/#Adding%20a%20Dependent%20Job
Chronos目前仅根据时间或依赖项触发器调度作业。文件更新,git推送或电子邮件/推文等其他事件可以建模为您的目标作业依赖的等待X作业。