【问题标题】:Apache airflow scheduler not triggering once in a month task as expectedApache 气流调度程序未按预期每月触发一次任务
【发布时间】:2021-04-17 18:01:17
【问题描述】:

这是我想在每个月的固定日期执行的 dag,截至目前我保留在每个月的 18 号。 但是调度程序每天都会触发该任务。 catchup_by_default = False 在airflow.cfg 文件中设置为false

default_args = {
'owner': 'muddassir',
'depends_on_past': True,
'start_date': datetime(2021, 3, 18),
'retries': 1,
'schedule_interval': '0 0 18 * *',
}

图片 1

图片 2

图 3

图 4

【问题讨论】:

    标签: airflow airflow-scheduler


    【解决方案1】:

    您在default_args 中提到了schedule_interval,这不是安排DAG 的方式。 default_args 实际上应用于任务,因为它们被传递给 Operators 而不是 DAG 本身。

    您可以按如下方式修改您的代码,只需从 default_args 中删除 schedule_interval 并将其传递到 DAG 实例 中,如下所示,然后您可以将 catchup 标志设置为 False 以避免任何回填:

    # assuming this is how you initialize your DAG
    dag = DAG('your DAG UI name', default_args=default_args, schedule_interval = '0 0 18 * *', catchup=False) 
    

    【讨论】:

    • 那么每天触发它的原因是什么?
    • 在 DAG 的 UI 右上角,您可以看到它实际遵循的当前时间表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多