airflow-dag-no-schedule-argument (AIR002)
来源于 Airflow 代码检查器。
此规则不稳定且处于预览状态。使用需要 --preview
标志。
作用
检查 DAG()
类或 @dag()
装饰器是否缺少显式的 schedule
(或 Airflow 1 的 schedule_interval
) 参数。
为什么这不好?
Airflow 2 上 schedule
参数和 Airflow 1 上 schedule_interval
参数的默认值为 timedelta(days=1)
,这几乎不是用户想要的。Airflow 3 将默认值更改为 None
,这将破坏使用隐式默认值的现有 DAG。
如果您的 DAG 没有显式的 schedule
/ schedule_interval
参数,Airflow 2 每天都会为其安排一次运行 (在由 start_date
确定的时间)。如果没有例外或用户可见的其他消息,这样的 DAG 将不再在 Airflow 3 上被安排运行。
示例
建议改为