如何使用 cron 表达式安排一个气流 DAG 具有 2 个不同的计划间隔

问题描述 投票:0回答:1

如何使用 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 作为过去的参数表达式

cron airflow
1个回答
0
投票

在 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 的一部分引入的。

一些有用的链接可能会帮助您实现您的要求:

© www.soinside.com 2019 - 2024. All rights reserved.