正确定义 DAG 调度间隔

Properly Defining DAG Schedule Interval

问题:我们很难在给定的时间间隔内触发 DAG。它还可以防止手动执行 DAG。我们也在 DAG 定义中添加了 catchup=False

上下文:我们计划让 DAG 从 M-F 开始每隔 4 小时执行一次。我们使用以下 CRON 表达式定义了此行为:

0 0 0/4 ? * MON,TUE,WED,THU,FRI *

我们目前不确定间隔是否已正确定义,或者是否有我们忽略的额外参数。

如有任何帮助,我们将不胜感激。

我认为您要找的是 0 0/4 * * 1-5,它将在周一至周五的每个 day-of-week 的第 4 小时从 0 点到 23 点 运行。

您的 DAG 对象可以是:

from airflow import DAG

with DAG(
    dag_id="my_dag",
    start_date=datetime(2022, 2, 22),
    catchup=False,
    schedule_interval="0 0/4 * * 1-5",
) as dag:
    # add your operators here