重新运行Airflow Subdag的一部分

sti*_*108 12 airflow airflow-scheduler

我每天都有一个包含子标记的Dag.子标签有五个任务,T1到T5,必须按顺序运行(例如T1 >> T2 >> T3 >> T4 >> T5)

dag成功运行了几天但后来我发现了T4的一个错误.我修复了这个错误,想要重新运行前几天的T4和T5.重新运行T1-T3非常重要,因为这些步骤比T4-T5需要更长的时间.

我尝试过的失败了:

  1. 选择T4,清除下游+递归 - 没有任何反应.Dag树视图将子标记显示为"成功",即使其中的T4和T5被清除.
  2. 选择T4,清除下游+递归,选择子标记,清除该任务 - 即使T1-T3标记为成功,这将重新运行整个子标记(T1-T5)
  3. 选择T4,清除下游+递归,选择子标记,单击运行 - 与#2相同.重新运行整个子标记.
  4. 选择T4,清除下游+递归,手动将子标志设置为"运行"状态.什么都没发生.树视图显示处于"运行"状态的子标记,但实际上没有任务运行.

当尝试重新运行部分子标记时,这似乎只是一个问题.如果我在常规dag中有一堆任务,通常在中间选择一个任务并选择clear downstream + recursive将从该点重新运行dag.

任何建议,将不胜感激.

小智 9

您可以在subDAG内重新启动失败的任务,方法如下:

  • 放大subDAG,清除失败任务的状态.
  • 返回主DAG,选择subDAG.
  • 取消选中递归和/或下游.
  • 清除subDAG的状态.