问题场景
我有一个任务 task1,task1 的下游有 task2 task3 两个任务(实际场景下游任务可能几十个), 今天这三个task都已经成功运行了。
今天接到需求需要修改 task1 的逻辑。当我改好 task1 的逻辑后,通过其他方式把 task1 的任务已经跑过了,此时只需要把 task1 的下游任务刷一遍就行了。此时在 Airflow web 界面操作,可以在不 clear task1 的情况下,只 clear task1 的下游任务。
解决方法
当想在web界面,只 clear 某个任务的所有下游任务,而不clear当前任务时,可按照此步骤:
- 首先把当前任务以及下游任务 mark 成 failed。
- 然后把当前任务 mark 成 success,这样一来,下游的任务检测到它的上游依赖完成了,就自动进入running状态了。