如果更新的计划间隔小于该dag的先前计划间隔,为什么我的Dag无法运行

时间:2019-07-29 07:36:34

标签: airflow airflow-scheduler

我正在运行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

1 个答案:

答案 0 :(得分:1)

  • 通过scheduler规避此类不当行为的fool-proof way是不要混淆,即请勿更改广告客户的schedule_interval DAG 。换句话说,如果您需要修改DAG的计划间隔,只需重命名;它将使气流忘记旧的DAG,并将重命名的DAG视为全新的DAG

  • 但是我的anecdotal tip是,如果您偶然(偶然地)修改了DAG的计划间隔,重新启动Airflow计划程序 /网络服务器流程也可以解决该问题