You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

理解Airflow DAG的start_date及dagrun顶部显示日期的含义

Airflow DAG运行页顶部日期的含义

你看到的这一系列时间戳,是每个DAG运行实例(DagRun)的逻辑日期(Logical Date,Airflow 2.2前版本叫执行日期/Execution Date),是Airflow调度逻辑里的核心标识,具体规则和你看到连续历史日期的原因如下:

  • 这个日期标记的是当前DagRun对应处理的数据周期边界,不是任务实际启动运行的物理时间。Airflow本身是为周期数据处理设计的,每一次DAG运行都对应一个明确的数据时间窗口,逻辑日期就是这个窗口的标记位。
  • 你当前操作时间是2022-07-15,却能看到从2022年7月12日20:00开始的连续日期,是Airflow默认的回填(Backfill)机制生效了:当你开启一个DAG时,如果DAG配置的start_date早于当前时间,Airflow会按照你设置的调度间隔,从start_date之后第一个符合调度规则的时间点开始,逐一生成对应周期的DagRun,直到追上当前最新的调度时间点。

拿你的simple_dag举个例子:
如果你在代码里给DAG配的调度规则是schedule_interval='0 20 * * *'(每天20点触发)、start_date=datetime(2022,7,12),Airflow就会自动生成逻辑日期为2022-07-12 20:00、2022-07-13 20:00、2022-07-14 20:00的三个历史运行实例,和你界面上看到的日期序列完全匹配。

两个容易踩坑的点:

  1. 别把逻辑日期和实际运行时间搞混:比如逻辑日期标着2022-07-12 20:00的实例,实际跑的时间是你开DAG的7月15日前后,它只是负责处理7月12日20点对应周期的数据而已。
  2. 要是不想让Airflow自动补跑历史任务,直接在DAG参数里加catchup=False就行,之后开DAG只会跑当前最新的调度周期,不会生成这些历史回填实例。

DAG代码截图
DAG运行界面截图

内容的提问来源于stack exchange,提问作者QDex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:48:25