我正在运行schedule_interval
15分钟的工作流程。现在,在完成工作流程的执行之后,我修改了工作流程的配置并将schedule_interval
更新为10分钟。
在这种情况下,它是根据上次执行日期与当前开始日期之间的差异创建一些实例的,而在这些实例中,任务没有开始,只是dag始终处于运行状态。
如何限制这些额外的实例,或者默认情况下会使它们失败?
让DAG的Start date
为29/7 / 2019T12:00PM
Schedule Interval
是15分钟。
现在让我们在12:32 PM运行两个实例之后,将工作流schedule_interval
更新为10分钟,并将start_date
更新为当前日期,即29/7 / 2019T12:32PM。
在这种情况下,由于last execution date
的dag为29/7 / 2019T12:30PM。
根据{{1}}和更新的last execution date
否,下一个实例应在12:40 PM运行,但是根据schedule_interval
的{{1}}是12:45。
因此它将不会运行此实例。并给出依赖项错误信息:
next execution date
答案 0 :(得分:1)
通过scheduler
规避此类不当行为的fool-proof way是不要混淆,即请勿更改广告客户的schedule_interval
DAG 。换句话说,如果您需要修改DAG的计划间隔,只需重命名;它将使气流忘记旧的DAG,并将重命名的DAG视为全新的DAG
但是我的anecdotal tip是,如果您偶然(偶然地)修改了DAG的计划间隔,重新启动Airflow计划程序 /网络服务器流程也可以解决该问题