命令:
python dag.py backfill -i -t task1 --pool backfill -s "2016-05-29 03:00:00" -e "2016-06-07 00:00:00"
所有任务都排队,所有任务都开始运行。最大容量基本上被忽略了。
答案 0 :(得分:2)
据我所知,池超额认购应该是1.7.1.3(最新稳定版)中的已知问题。此外,Airflow回填作业运行器不会考虑池约束 - 只有调度程序执行,调度程序不会调度/处理回填。我认为这些应该会在下一个版本中发生变化 - 但不确定。
答案 1 :(得分:1)
在目前的版本中,根据我的经验,1.7.1.3
回填几乎总是一个坏主意。调度程序最终可以与回填作业作斗争,回填的DAG可以进入奇数状态,并且通常会使事情处于吸烟危机之中。
通常,我通过确保我的工作能够在工作人员中很好地分配并在合理的时间内完成并信任调度程序和任务start_date来完成任务,从而找到了更多的成功。
上面的确实结束了DAG运行次数的一些非常可怕的超额预订......并且调度程序在超过配置限制时会窒息。解决方案:临时阻止DAG运行的配置限制。调度程序和执行程序将相当合理地工作,以确保您实际上不会同时运行太多的作业。