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

如何在Airflow中从断点重启中途中断的DAG?

让Airflow DAG从断点处自动恢复运行的方法

遇到DAG因数据库中断中途停摆,只能逐个重启任务确实麻烦,别担心,有几个方法能让Airflow自动识别已成功的任务,从断点处继续执行:

方法一:通过Airflow UI快速恢复

这是最直观的操作方式,适合手动处理单个DAG Run:

  • 打开目标DAG的Graph View或Tree View页面;
  • 选中所有状态为Failed、Queued、Up for Retry,或是无状态的任务(注意避开已显示为Success的任务);
  • 点击页面顶部的「Clear」按钮,在弹出的确认框中:
    • 取消勾选「Clear past」和「Clear future」(除非你需要处理其他时间范围的任务);
    • 确认操作后,Airflow会重新调度这些被清除的任务,而已成功的任务会保持完成状态,整个DAG就会从断点处继续执行了。

方法二:用CLI命令批量/自动化恢复

如果需要处理多个DAG Run,或者想通过脚本自动化操作,Airflow的CLI命令更高效:

  • 清除指定DAG中所有失败、待重试的任务(先执行--dry-run预览效果,没问题后去掉该参数):
    airflow tasks clear --dag-id 你的DAG_ID --state failed --state up_for_retry --dry-run
    
  • 针对特定的DAG Run恢复(替换<目标运行ID>为实际的run-id):
    airflow tasks clear --dag-id 你的DAG_ID --run-id <目标运行ID> --state failed --state queued
    

关键注意事项

  • 确保你的任务是幂等的:如果任务涉及写入数据库、调用外部API等操作,重启任务可能会导致重复执行,提前做好幂等性处理(比如用唯一标识避免重复写入);
  • Airflow版本兼容:上述UI操作适用于绝大多数Airflow版本,CLI的--state参数在Airflow 2.x版本中支持更完善,如果你用的是1.x版本,可能需要调整参数。

内容的提问来源于stack exchange,提问作者Paymahn Moghadasian

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:18:37