1

我有一个以设置--run-duration 86400(24 小时)启动的气流调度程序。在此时间之后调度程序“死亡”并将自动重新启动。只要没有在 24 小时结束前不久开始的长时间运行的作业(例如 2 小时),这项工作就可以正常工作。在这种情况下,我让一个调度程序进程处理我的长时间运行的任务,而所有其他进程都作为僵尸(已失效)。在长时间运行的作业期间,不会处理其他作业。

我正在与 LocalExecutor 合作。

我的问题是:

  • 允许调度程序无限期运行(没有--run-duration–num_runs)是否保存?
  • celery 或 dask executor 是否会发生类似的情况?
4

1 回答 1

1

据我了解,在使用 LocalExecuter 运行作业时,实际任务由调度程序的子进程运行,因此调度程序必须等到所有任务完成才能重新启动。在此期间不会启动任何新任务。

在 CeleryExecuter 下,Celery 实际上正在运行任务,所以你不应该遇到这个问题。

于 2018-12-11T13:50:42.473 回答