Airflow1.10.6任务实例显示SUCCESS状态却无起止日期未执行求助
Airflow 1.10.6 月度DAG显示SUCCESS但未实际执行排查方案
以下是按优先级从高到低的排查步骤:
- 核实DAG Run的触发来源
进入Airflow Web UI的DAG Runs页面,定位execution_date为2021-09-01的运行记录,查看是否标注为manually set to success。如果是手动标记的成功状态,系统不会实际调度任务执行,自然不会产生运行日志和起止时间记录,这是该类问题最高发的原因。 - 核查时区匹配问题
你的DAG默认使用UTC时区,schedule_interval设置为0 6 1 * *对应UTC时间每月1日6点,换算为北京时间是每月1日14点。如果你的业务预期是北京时间每月1日6点执行,需要将schedule_interval调整为0 22 1 * *,或全局修改Airflow的时区配置。 - 排查调度器运行日志
登录Airflow调度器所在节点,找到调度时间点对应的调度器日志,搜索DAG ID或invoicing.py关键词,确认调度器是否正常识别到该次调度需求,是否有提交任务到Executor的记录,是否存在权限不足、依赖缺失类的报错。 - 查询元数据库校验任务实例状态
连接Airflow的元数据库,执行以下SQL查询对应任务实例的详细信息:
如果SELECT state, start_date, end_date, executor_id, external_executor_id FROM task_instance WHERE dag_id = '替换为你的DAG ID' AND task_id = 'GENERATE_INVOICE' AND execution_date = '2021-09-01 06:00:00';start_date和executor_id均为空,说明调度器没有真正提交任务执行,可以进一步排查调度器是否存在队列阻塞、DAG解析失败的问题。 - 检查DAG配置生效情况
注意catchup_by_default参数不属于default_args的有效配置项,该参数需要直接在DAG类初始化时传入才能生效。如果DAG近期有修改过配置,需要确认修改后的配置已被调度器正常加载,未出现新旧版本冲突的问题。
内容的提问来源于stack exchange,提问作者Bhanu Prakash
相关产品推荐
相关产品推荐

