Sam*_*Sam 5 airflow airflow-scheduler
airflow.cfg 中的设置 catchup_by_default=False 似乎不起作用。另外,将 catchup=False 添加到 DAG 也不起作用。
以下是重现该问题的方法。我总是从跑步开始airflow resetdb。一旦我取消暂停 dag,任务就会开始回填。
这是 dag 的设置。我只是使用教程示例。
default_args = {
"owner": "airflow",
"depends_on_past": False,
"start_date": datetime(2018, 9, 16),
"email": ["airflow@airflow.com"],
"email_on_failure": False,
"email_on_retry": False,
"retries": 1,
"retry_delay": timedelta(minutes=5),
}
dag = DAG("tutorial", default_args=default_args, schedule_interval=timedelta(1), catchup=False)
Run Code Online (Sandbox Code Playgroud)
需要明确的是,如果您在现在时间为 2018-10-22T9:00:00.000EDT(也就是 2018-10-22T13:00:00.000Z)时启用了指定的 DAG,它将在某个时间启动2018-10-22T13:00:00.000Z 之后,运行日期标记为 2018-10-21T00:00:00.000Z。
这不是从开始日期回填,而是在没有任何先前运行的情况下,它确实“赶上了”最近完成的有效期间;我不确定为什么 Airflow 中会出现这种情况一段时间,但有记录表明这catchup=False意味着创建最近有效周期的单次运行。
如果 dagrun 运行日期让您更加困惑,请记住运行日期是execution_date间隔期的开始日期。该间隔的数据仅在间隔周期结束时完全可用,但 Airflow 设计为在该周期开始时通过。
那么下一次运行将在 2018-10-23T00:00:00.000Z 之后的某个时间开始execution_date,设置为 2018-10-22T00:00:00.000Z。
如果您在 22 日或之后收到早于 21 日的任何运行日期,或者安排了多次运行,则“是”catchup=False不起作用。但没有其他报告表明 v1.10 或 v1-10-stable 分支存在这种情况。
| 归档时间: |
|
| 查看次数: |
5539 次 |
| 最近记录: |