我在 Airflow 中有任务 A -> B -> C,当我运行 DAG 并全部成功完成时,我希望能够单独清除 B(同时将 C 标记为成功)。 B 清除并进入“no_status”状态,但当我尝试重新运行 B 时,什么也没有发生。我尝试过 --ignore_dependency、--ignore_depends_on_past 和 --force 但无济于事。 B 似乎只有在 C 也被清除的情况下才会重新运行,然后一切都会按预期重新运行。
我希望能够在不更改管道的情况下专门重新运行 B 的原因是,B 的一些外部输入可能会略有变化(文件更改或调整),并且我想在重新启动之前运行它并评估它的输出下游任务(以减轻任何潜在的中断)。
如果通过命令行清除,您可以指定要清除的任务。
airflow clear your_dag_id --task_regex B --start_date 2017-09-25T17:00:00 --end_date 2017-09-25T17:00:00
如果您想通过 UI 执行此操作,您可以访问Browse -> Task Instances
找到您要清除的任务实例。从那里删除应该只会清除您选择的任务。您还需要前往Browse -> DAG Run
并将相关DAG运行设置为运行状态,以便您清除的任务被拾取。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)