Airflow调度器异常:设置周二至周六8点运行却每日执行
解决Airflow DAG每日运行的问题
以下是几个排查和解决方向:
检查时区配置
Airflow默认采用UTC时区,如果你的业务时间是本地时区(比如东八区),配置的0 8 * * Tue-Sat实际是UTC时间8点触发,对应本地时间16点。若你误以为是本地8点触发,可能会错判为“每日运行”。可以在DAG中显式指定时区:from pendulum import timezone with DAG( dag_id='dag_name', schedule_interval='0 8 * * Tue-Sat', catchup=False, default_args=default_args, timezone=timezone('Asia/Shanghai') # 替换为你的目标时区 ) as dag:替换星期表达式为数字格式
部分Airflow版本对星期缩写(Tue-Sat)的解析可能存在兼容问题,尝试用数字区间替代(Airflow中周日为0/7,周一到周六对应1-6,因此周二到周六是2-6):schedule_interval='0 8 * * 2-6'验证DAG的实际调度配置
登录Airflow UI进入该DAG详情页,查看“Schedule”字段是否与配置一致。若显示不符,说明配置未正确加载,重启Airflow Scheduler服务即可。排查非计划触发因素
查看DAG的任务实例列表,检查每个运行记录的“Triggered By”字段,确认是否存在手动触发、外部API调用或其他触发器(如传感器、Dataset依赖)导致的额外运行。适配新版本参数(Airflow 2.2+)
若使用Airflow 2.2及以上版本,官方推荐使用schedule参数替代schedule_interval,功能完全一致:schedule='0 8 * * Tue-Sat'
内容的提问来源于stack exchange,提问作者lr53
相关产品推荐
相关产品推荐

