GCP Cloud Composer中Airflow DAG每5分钟调度不生效如何解决?
Cloud Composer Airflow DAG 定时调度不生效排查思路
- 优先检查参数归属错误
schedule_interval、tags均为DAG实例的顶层参数,不属于default_args的配置项,你当前将二者写在默认参数中是核心问题:default_args中的配置会透传给每个Task任务,调度器不会读取该字段下的调度间隔配置,导致只有手动触发/首次上传时的单次运行,无后续自动调度。
正确的配置示例如下:import datetime from airflow import DAG default_args = { "start_date": datetime.datetime(2021, 12, 2, tzinfo=datetime.timezone.utc), "owner": "foobar" } with DAG( dag_id="替换为你的DAG ID", default_args=default_args, # schedule_interval放到DAG参数层 schedule_interval="*/5 * * * *", # tags放到DAG参数层 tags=["create_empty_dataset", "BigQuery"], catchup=False ) as dag: # 此处编写你的任务逻辑 pass - 检查时区匹配问题
Cloud Composer默认使用UTC时区,若你设置的start_date未指定时区、或使用了本地时区,会出现时间差导致调度器判定未到下一次执行时间。建议给start_date明确添加UTC时区标识,或同步修改Airflow实例的默认时区为你需要的时区。 - 确认DAG启用状态
查看Airflow Web UI中对应DAG左侧的开关是否为开启状态,若仅手动触发过一次、开关未打开,也不会触发自动调度。 - 检查catchup参数配置
若catchup设为False,且start_date为过去的时间,调度器只会执行最新的一次调度任务,不会补跑历史区间的任务。你可以根据需求调整catchup取值,或将start_date设置为未来的时间点验证调度效果。 - 排查调度器运行状态
进入GCP Cloud Composer控制台的监控页面,查看Airflow调度器Pod的运行状态,确认是否存在崩溃、重启、报错等异常,调度器异常会导致无法生成新的调度实例。 - 检查DAG导入错误
查看Airflow Web UI的DAG列表页是否存在Import Error提示,隐性的代码语法错误会导致调度器无法正常识别DAG的调度规则。
内容的提问来源于stack exchange,提问作者Lev
相关产品推荐
相关产品推荐

