You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow中如何仅重跑失败单个任务而不触发后续任务?

解决Airflow仅重跑单个任务不触发下游的问题

问题根源

你遇到的情况核心原因在于:所有任务配置了trigger_rule = all_done,且下游任务此前已成功执行。当你clear第5个任务时,Airflow会检测下游任务的依赖状态——由于下游任务的上游依赖(第5个任务)状态发生变更(从失败转为待重新执行),而all_done规则仅要求上游任务完成(无论成功或失败),因此下游任务会因依赖条件再次满足而被触发重跑。

具体解决方法

方法1:UI操作时禁用下游触发

在Airflow UI选中第5个任务并点击「Clear」后,弹出的确认窗口里,取消勾选「Downstream」选项(默认可能处于勾选状态),再执行clear操作。这样Airflow只会重跑你选中的单个任务,不会触发其后续所有下游任务。

方法2:用CLI命令精准控制

如果习惯命令行操作,可执行以下命令(替换<dag_id>和<task_id>为你的实际DAG ID与第5个任务ID):

airflow tasks clear -s <dag_id> -t <task_id> --no-downstream

--no-downstream参数会明确告知Airflow不要触发下游任务,仅重跑指定的单个任务。

方法3:事后补救(已触发下游时)

若已误触发下游任务,可手动选中所有下游任务,点击「Mark Success」将它们标记为成功状态,Airflow会判定这些任务无需再执行,从而终止后续运行。不过这种属于事后处理,优先推荐前两种提前控制的方式。

内容的提问来源于stack exchange,提问作者Arpit Rathod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:22:07