airflow - Airflow DAG 由调度程序触发两次。每周 DAG
问题描述
Airflow DAG 在周一触发两次,用于以下配置。
当我使用30 11 * * 1
cron 表达式时,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 分钟:
- 11:30:05
- 11:30:58
可能的原因是什么?
解决方案
所以最后,我想通了这个问题。
是的,它是正确的,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)
现在它工作正常。
谢谢!!!
推荐阅读
- snakemake - 包含多个蛇文件
- node.js - 发出类型声明的最有效方法是什么?
- java - mockito : 'spy' 带注释的方法在声明后运行
- php - 数据编目应用程序的 PHP XSL 问题
- plc - 我可以在每个周期或仅通过上升沿设置电机吗?
- javascript - Vue单文件组件中的相对路径不能正常工作
- python - 无法从雅虎财经中刮取面包屑
- xcode - Google 如何实现 Pod 命名空间?
- node.js - 在 apache 反向代理后面的路径上时,Socket.io 客户端没有接收到发出的事件
- ios - 如果 backgroundColor 应用于 statusBar,则窗口的cornerRadius 和 maskToBounds 将不适用于 statusBar