Airflow 完成dag运行,然后禁用dag

Airflow 完成dag运行,然后禁用dag,airflow,Airflow,有没有办法让气流关闭dag,但只能在当前dag运行完成后关闭 如果在运行的中途禁用dag,它将自然停止处理dag。然而,当我恢复它时,它将继续它停止的地方。dagrun的状态对我来说并不重要,因此我目前手动“失败”dagrun(手动) 有没有一种方法可以让当前(最近的?)dagrun失败,或者让dagrun完成,然后通过命令行或API禁用?我不太清楚您想做什么,但在我看来,DAG应该只运行一次 所以你可以通过 schedule\u interval='@once' 在default\u args

有没有办法让气流关闭dag,但只能在当前dag运行完成后关闭

如果在运行的中途禁用dag,它将自然停止处理dag。然而,当我恢复它时,它将继续它停止的地方。dagrun的状态对我来说并不重要,因此我目前手动“失败”dagrun(手动)


有没有一种方法可以让当前(最近的?)dagrun失败,或者让dagrun完成,然后通过命令行或API禁用?

我不太清楚您想做什么,但在我看来,DAG应该只运行一次

所以你可以通过

schedule\u interval='@once'


default\u args

中,如果在DAG选项中设置
catchup=False
(或在
aiffort.cfg
中设置
catchup\u,则将禁用回填。这意味着调度程序将只运行DAG的最新执行。如果你关掉DAG然后再打开,就没有办法阻止气流把它吸起来,因为这就是它的本意

因此,我假设您的问题在于已经调度并标记为运行的DAG。在这种情况下,您可以创建另一个负责“杀死”前者的DAG,或者干脆将其关闭,直到您需要再次运行它,并在DAG的开头放置一个
操作符
,该操作符负责关闭以前可能仍标记为
RUNNING
的执行