Airflow 计划的 dags 现在按预期工作
Airflow scheduled dags now working as expected
我不明白调度程序是如何工作的,我创建了一些 dags:
schedule_interval="0 21 * * *",
start_date=pendulum.datetime(2022, 5, 3, tz="UTC"),
catchup=False,
"max_active_runs": 1,
我昨天下午 15 点左右激活了 dag,我手动执行了 dag 以验证它们是否有效。
今天早上我检查了 dag 的执行,我发现 dag 没有像预期的那样在昨天(2022-05-03 21.00)执行(这是 airflow 报告的下一个 运行 日期)为什么?
我哪里冤枉你了?
我正在使用气流 2.2.4
谢谢
手动 运行 触发后立即开始。
Scheduled 运行s 受 Airflow 调度机制的约束。我在
中解释过
在您的情况下,2022-05-03
的开始日期和 0 21 * * *
的间隔意味着第一个 运行 将在 2022-05-04 21:00
开始。这个 运行 的 execution_date
将是 2022-05-03 21:00
。
因此,如果您希望第一个 运行 从 2022-05-03 21:00
开始,您需要设置:
start_date=pendulum.datetime(2022, 5, 2, tz="UTC"),
schedule_interval="0 21 * * *",
或者,如果您想指定准确的 运行 次,则需要使用 Timetables then you can customize DAG Scheduling with Timetables.
我不明白调度程序是如何工作的,我创建了一些 dags:
schedule_interval="0 21 * * *",
start_date=pendulum.datetime(2022, 5, 3, tz="UTC"),
catchup=False,
"max_active_runs": 1,
我昨天下午 15 点左右激活了 dag,我手动执行了 dag 以验证它们是否有效。
今天早上我检查了 dag 的执行,我发现 dag 没有像预期的那样在昨天(2022-05-03 21.00)执行(这是 airflow 报告的下一个 运行 日期)为什么?
我哪里冤枉你了?
我正在使用气流 2.2.4
谢谢
手动 运行 触发后立即开始。
Scheduled 运行s 受 Airflow 调度机制的约束。我在
在您的情况下,2022-05-03
的开始日期和 0 21 * * *
的间隔意味着第一个 运行 将在 2022-05-04 21:00
开始。这个 运行 的 execution_date
将是 2022-05-03 21:00
。
因此,如果您希望第一个 运行 从 2022-05-03 21:00
开始,您需要设置:
start_date=pendulum.datetime(2022, 5, 2, tz="UTC"),
schedule_interval="0 21 * * *",
或者,如果您想指定准确的 运行 次,则需要使用 Timetables then you can customize DAG Scheduling with Timetables.