【问题标题】:Avoid expired dates in Airflow避免气流中的过期日期
【发布时间】:2020-01-07 21:25:36
【问题描述】:

我有以下气流 DAG:

from datetime import datetime
from airflow import DAG
from airflow.operators.bash_operator import BashOperator

#Runs every 1 minute
dag = DAG(dag_id='example_dag', start_date=datetime(2020, 1, 1), schedule_interval='*/1 * * * *')

t1 = BashOperator(task_id='bash_task', bash_command='echo Hello!', dag=dag)

这里的问题是 Airflow 正在调度和执行过去日期的任务,例如 2020 年的第一分钟、2020 年的第二分钟、2020 年的第三分钟等等。

我希望 Airflow 仅调度和执行 dag 部署之后发生的任务(即,如果我今天部署,我希望在下一分钟执行第一个任务),而不是执行过期任务。

有什么建议吗?谢谢!

【问题讨论】:

  • 澄清一下,“过期”任务是在当前部署时间之前的任务吗?你试过设置catchup=False吗?
  • 是的,这就是答案。我昨天发了,版主删了,因为我引用了一篇中篇文章(别问我为什么)

标签: airflow airflow-scheduler


【解决方案1】:

我找到了答案here。阅读“Catchup 和 Idempotent DAG”部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2015-01-02
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    相关资源
    最近更新 更多