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

Airflow 2.5.0:定义schedule参数后为何无法用dag.schedule访问?

Airflow 2.5.0中DAG实例无法访问dag.schedule属性的原因及解决办法

问题原因

Airflow 2.2版本开始引入schedule参数作为schedule_interval的别名,目的是让参数命名更直观,但这个schedule仅作为DAG构造函数的输入参数存在,并没有被设置为DAG实例的直接属性。当你传入schedule='@daily'实例化DAG时,底层会将该值赋值给DAG实例的schedule_interval属性,因此只能通过dag.schedule_interval访问调度配置,dag.schedule属性并不存在,这就是报错的核心原因。

而start_date、catchup属于DAG实例的原生属性,因此可以直接访问。

解决办法

将代码中的dag.schedule替换为dag.schedule_interval即可解决报错:

args = {'start_date': dag.start_date, 
        'schedule': dag.schedule_interval, 
        'catchup': dag.catchup}

如果你的子DAG定义中使用的是schedule_interval参数,也可以将args里的键改为schedule_interval,保持参数名统一,避免后续混淆:

args = {'start_date': dag.start_date, 
        'schedule_interval': dag.schedule_interval, 
        'catchup': dag.catchup}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:00:52