Airflow 2.2.3中如何使用过去的数据间隔日期触发DAG?
Airflow 2.2.3 触发过去日期DAG任务的解决方法
先确认DAG核心配置
- 确保
catchup参数设为True(若需补跑历史任务);若为手动触发指定过去日期,DAG的start_date必须早于目标日期,否则任务不会被调度。 - 若DAG的
schedule_interval设为None(纯手动触发型),需通过execution_date指定目标日期,而非start_date。
- 确保
正确的手动触发配置
在「带配置触发DAG」界面,不要传入start_date,而是使用execution_date参数,日期格式需符合YYYY-MM-DD或YYYY-MM-DDTHH:MM:SS:{"execution_date": "2023-10-01"}另外,也可直接在DAG的树视图(Tree View)中定位到目标日期的任务节点,点击右侧播放按钮直接触发。
排查任务未执行的常见问题
- 查看任务实例状态:进入任务实例列表,确认任务是处于
up_for_retry、failed还是queued状态(若为queued需检查资源是否充足)。 - 查看任务日志:点击任务实例的日志链接,排查是否存在依赖缺失、权限错误等具体报错。
- 确认调度器状态:确保Airflow调度器正常运行,无挂起或异常。
- 查看任务实例状态:进入任务实例列表,确认任务是处于
批量补跑历史任务(可选)
若需补跑某段时间内的所有任务,可使用Airflow CLI命令:airflow dags backfill -s 2023-10-01 -e 2023-10-05 your_dag_id执行前需确保DAG处于未暂停状态,且
catchup参数配置符合需求。
内容的提问来源于stack exchange,提问作者Maggie
相关产品推荐
相关产品推荐

