cron - 如何使用非标准 schedule_interval 控制计划 DAG 的首次运行
问题描述
我在安排我的 DAG 正常运行时遇到问题,尤其是在schedule_interval
&方面start_date
。
Airflow 的默认行为不适合我的用例,其中如果我为 设置任意提前日期start_date
,气流将始终触发“直观”第一个时间表之外的初始运行(例如,如果我将我设置schedule_interval
为每周三和周五上午 12 点运行,并且我在星期一创建了这个 DAG,并且在几周前的任意早日期,在星期一创建 DAG 的确切实例上有一个 cron 运行,这是我不想要的)。
从参考资料中了解计划运行将在 1 个scheduled_interval
周期后发生。虽然我参考了如何正确工作气流 schedule_interval和https://airflow.apache.org/docs/1.10.6/scheduler.html#backfill-and-catchup,但它们通常显示与定期间隔相关的示例(例如每小时、每日、每月等)。
但是,在我的场景中,我有schedule_interval
一个0 16 * * 1,2,0
& 0 16 * * 1,3,5
。由于运行之间的间隔不规则,我该如何设置start_date
:
- 第一次运行恰好发生在下一个日期时间,它是“直观”的运行?例如
- 如果我在周六创建这 2 个 DAG,我希望我的 DAG 分别在周日和周一的 1600h 进行首次运行
- 如果我在星期一 1700 小时创建这两个 DAG,我希望我的 DAG 分别在星期二和星期三的 1600 小时进行首次运行
解决方案
推荐阅读
- css - RWD 和智能手机的屏幕 x 浏览器窗口大小
- python - Python 字典迭代:d 与 d.viewkeys()
- r - check.length("fill") 中的错误:'gpar' 元素 'fill' 的长度不得为 0
- php - Google Drive API 上传/下载 - PHP 到客户端
- autoencoder - keras 中的成本函数
- c++ - C++ 节点分配错误:线程 1:EXC_BAD_ACCESS(代码=1,地址=0x0)
- python - 无法在 OS X 上将 MySQL 导入 python
- laravel - Laravel 架构列
- c# - 如何在 C# 运行时更改用户控件的控件属性?
- react-native - React Native Flatlist zIndex 不适用于溢出:iOS 上的“可见”