如何解决为什么 Airflow 没有在下一个预定时间启动新的 Dag?
例如,我在 11:30 创建了一个新的 DAG。 DAG 应该在每小时的第一分钟运行(Cron:0 * * * *)。 我预计 DAG 会在 12:00 开始。然而,DAG 并于 13:00 首次启动。
这里发生了什么?
我查看了后端MysqL的dag
表,新dags的next_dagrun
列显示12:00。
解决方法
来自 Airflow docs 的引用:
如果您以一天的 schedule_interval 运行 DAG,则执行日期为 2019-11-21 的运行将在 2019-11-21T23:59 之后不久触发。
让我们重复一遍,调度程序在开始日期之后的一个 schedule_interval 期间运行您的作业。
想想就好像实际开始日期是指前一个执行日期,间隔过去后会发生 dag 运行。因此,当您在 12:00 看到 next_dagrun
时,它将在 13:00 执行(DAG Runs UI 上的 Start Date
列),依此类推。
换句话说,如果您在 11:30 创建了 DAG,那么您的第一个 schedule_interval
还没有在 12:00 完成。对我来说,最终了解发生了什么的诀窍是使用 start_date
参数。
希望对你有用!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。