如何使用 cron 表达式安排一个具有 2 个不同计划间隔的气流 DAG。
我想结合以下 2 个间隔来安排一些气流 DAG。 计划间隔 = '30 1,4,7,10,13,16,19,22 * * *' & '00 3,6,12,15,18,21,00 * * *'
我尝试以 90 分钟的节奏运行 DAG,并尝试跳过上午 9 点的运行。
请告诉我这是否可以通过任何方式实现?
我尝试使用 */90 0-8,10-23 * * * 进行安排,但由于某种原因它不起作用,并且似乎需要 00-59 作为过去的参数表达式
在 Airflow 中的单个 DAG 中不可能有两个 cron 表达式。而且不可能有一些分钟表达式不在0-59范围内,至少Airflow中使用的
croniter
无法处理这种情况:
from datetime import datetime
from croniter import croniter
it = croniter("*/90 * * * *", datetime(2023, 1, 1))
print(it.get_next(datetime)) # 2023-01-01 01:00:00
print(it.get_next(datetime)) # 2023-01-01 02:00:00
print(it.get_next(datetime)) # 2023-01-01 02:00:00
但是,您始终可以选择使用 Timetables,它是作为 AIP-39:Airflow 2.2 中更丰富的 Scheduler_interval 的一部分引入的。
一些有用的链接可能会帮助您实现您的要求: