即使下游标记成功,气流也会在清除上游任务时重新运行

时间:2017-09-25 03:55:57

标签: python airflow

我有任务A - > B - > C在Airflow中,当我运行DAG并且所有成功完成时,我希望能够单独清除B(同时将C标记为成功)。 B清除并进入'no_status'状态但是当我尝试重新运行B时,没有任何反应。我已经尝试过--ignore_dependencies, - ignore_depends_on_past和--force但无济于事。如果C也被清除,B似乎只会重新运行,然后一切都按预期重新运行。

我希望能够在不更改管道的情况下专门重新运行B的原因是B的一些外部输入可能会稍微改变(文件已更改或调整)并且我想运行它并评估它的在重新启动下游任务之前输出(以减轻任何可能的中断)。

2 个答案:

答案 0 :(得分:1)

如果通过命令行清除,则可以指定要清除的任务。

airflow clear your_dag_id --task_regex B --start_date 2017-09-25T17:00:00 --end_date 2017-09-25T17:00:00

如果您想通过用户界面执行此操作,可以转到Browse -> Task Instances查找要清除的任务实例。从那里删除应该只清除您选择的任务。您还需要转到Browse -> DAG Run并将相关的DAG运行设置为运行状态,以便清除已清除的任务。

答案 1 :(得分:0)

在UI中,清除实例任务时,默认情况下会检查下游案例。

如果您取消选中它,它将仅清除此项并且不会重新运行下游任务