气流 DAGS 未按计划执行

时间:2021-02-11 15:54:56

标签: python-3.x airflow airflow-scheduler

我的一些气流 dag 没有按计划执行:

enter image description here

如您所见,这里有两个 dag 应该在 02-11 世界标准时间的 5:00 和 8:00 运行,但没有运行。以下是计划为 0 5,17 *** 的相关 dag 定义信息:

default_args = {
    'owner' : 'airflow',
    'retries' : 1,
    'retry_delay' :timedelta(minutes=5)
}

dag = DAG(
    dag_id = '*********',
    start_date = airflow.utils.dates.days_ago(2),
    default_args = default_args,
    schedule_interval = '0 5,17 * * *'
)

如您所见,2-11 日的 5:00 运行时间超过了 start_date 之后的完整 schedule_interval,因此没有理由它不应该根据 this astronomer article 和所有其他文档触发.

1 个答案:

答案 0 :(得分:1)

气流计划间隔可能是一个具有挑战性的概念。基本上,气流不会在您计划周期的开始时间触发 DAG,而是会在您的计划周期结束时触发。

例如,如果您在 2 点钟安排每日批处理作业,它将在调度期结束时触发您的 DAG,这意味着它将在第 24 小时(第二天 2 点钟)触发,如果是每小时作业,则相同然后它将在 60 分钟完成后触发,因此您的 DAG 将在第 60 分钟即下一小时触发。

在您的示例中以同样的方式,您安排了第 5 小时和第 17 小时,因此它会在计划周期完成后触发,在这种情况下,第 5 小时运行将在第 17 小时触发,第 17 小时运行将在下一个触发第 5 小时