首页 > 解决方案 > Airflow DAG 由调度程序触发两次。每周 DAG

问题描述

Airflow DAG 在周一触发两次,用于以下配置。

当我使用30 11 * * 1cron 表达式时,DAG 根本不会触发。所以发现我必须在表达式中再添加一个 * 。 30 11 * * 1 *- 有用。

default_args:
'start_date': airflow.utils.dates.days_ago(1)

DAG : schedule_interval= 30 11 * * 1 *, ## 这是每周一的 11:30 运行。

但是,DAG 每周一会被触发 2 次。间隔 1 分钟:

可能的原因是什么?

标签: airflowscheduler

解决方案


所以最后,我想通了这个问题。

是的,它是正确的,5 位 cron 表达式是正确的。我在用schedule_interval = 30 11 * * 1 #(Every Monday 11:30 UTC)

它不起作用,因为我有我的 start_time :

'start_date': airflow.utils.dates.days_ago(1)

我在 Airflow 上找到了这个博客 —在这里通过 CRON 表达式找到确切的 [start_date] 的技巧!

如果是每周工作,您的 start_date 应该是一周前。所以我把它改成了'start_date': airflow.utils.dates.days_ago(7)

现在它工作正常。

谢谢!!!


推荐阅读