You need to enable JavaScript to run this app. Airflow调度DAG用LatestOnlyOperator时如何重跑非最新dagrun?
优惠活动
大模型
产品
解决方案
定价
更多

Airflow调度DAG用LatestOnlyOperator时如何重跑非最新dagrun?

重跑非最新历史DAG Run的实操方法

核心逻辑说明

LatestOnlyOperator的判定是在任务被调度执行的瞬间触发的:它会对比当前DAG Run的逻辑执行日期,如果判定当前运行不是DAG下时间最新的一次有效调度,就会直接跳过自身和所有关联的下游任务。常规重跑操作失效,本质就是重跑时该算子会被重新触发判定流程,直接把非最新的DAG Run全链路置为skipped。

具体操作步骤

  • 先定位到要重跑的目标历史DAG Run,找到链路里作为首个任务的LatestOnlyOperator,手动把它当前的运行状态从skipped/success修改为removed,从调度层面切断它和本次重跑流程的关联。
  • 选中你期望作为重跑起点的下游任务节点,单独清空这些节点及后续需要重跑的任务状态,清空时务必取消勾选「包含上游任务」「递归清空全链路依赖」的选项,绝对不要把LatestOnlyOperator纳入本次清空范围,防止它被重新拉回执行队列触发skip逻辑。
  • 如果场景要求必须保留LatestOnlyOperator的完整执行记录,不能直接移除它的调度状态,可以给该算子加一层临时短路判断:读取当前DAG Run的传入参数,如果匹配到强制重跑的标记值,就直接让该算子返回成功结果,跳过默认的最新性校验,等本次重跑完成后再删除这段临时逻辑即可。

踩坑提示:如果操作时不小心把LatestOnlyOperator纳入了重跑的任务范围,它会在执行的第一时间把所有下游任务全部置为skipped,需要重新回到第一步调整该任务的状态才能继续后续操作。

内容的提问来源于stack exchange,提问作者Ofek Hod

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.11 02:54:00