Airflow 运行 dag 按计划 + 2 小时

Airflow running dag schedule on schedule + 2 hrs

我有以下 dag 配置:

with DAG(
    dag_id='dag_example',
    catchup=False,
    start_date=datetime.datetime(2022, 5, 26),
    schedule_interval='0 6,7,9,11,15,19,23 * * *',
    max_active_runs=1,
    default_args=default_args
)

我想知道为什么我预定在早上 7 点 运行 的日期是 运行 早上 9 点(下一个预定日期...)。我正在使用气流 2.1.2。当我使用气流 v1 时,dag 运行s correclty.

这就是 Airflow 的工作原理。 DAG 安排在间隔结束时。 因此,在您的情况下,2022-05-27 10:00run_id 将在 2022-05-27 12:00 开始 运行ning,因为您设置的间隔为 2 小时,Airflow 计划在间隔结束时进行。

注意:这与批处理实践一致。

如果您 运行 每天都在工作,那么今天您正在处理昨天的数据。

如果您 运行 每小时工作,那么在 10:00 您正在处理 09:00 到 10:00 之间的间隔,换句话说 run_id 09:00 实际上会在 10:00

的每小时间隔结束时 运行

您可以阅读 了解更多信息

如果您想从 DAG 中引用特定的间隔,这只是使用什么宏的问题。参见 Templates reference