调度程序不会选择气流清除的回填任务

Ign*_*ski 5 airflow

当成功回填运行中的任务被清除时,将创建具有运行状态的 DagRun,但调度程序不会选择它。这是预期的行为吗?

如果这样的 DagRun 有很多,并且执行 backfill 命令,则所有 DagRun 将同时运行,而不遵循 max_active_runs 参数。

到目前为止,我发现的唯一解决方法是清除任务,然后通过 UI 将 dagruns(而不是任务实例)标记为成功,然后运行回填。

bos*_*jak 3

调度程序不会选取手动创建的 DagRun(包括airflow backfill),只会选取已调度的 DagRun。你应该再次做这段时间的airflow clear跑步。airflow backfill

至于回填不尊重max_active_runs,我相信这是通过https://github.com/apache/airflow/pull/2454修复的。您使用的 Airflow 版本是什么?

  • 我正在使用1.10.1。当回填进程创建 dagruns 时,它确实尊重 max_active_runs。但清除任务后,所有 dagrun 都由网络服务器创建。因此,当调用回填时,它会立即执行所有操作。 (2认同)