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

Airflow Webserver上次运行时间与实际运行时间不一致问题排查

Airflow DAG汇总页与详情页/日志时间不一致问题分析

可能的原因拆解

1. 概念混淆:execution_date vs 实际运行时间

Airflow中,DAG汇总页的「Last run time」默认展示的是DAG的execution_date(调度执行日期),而详情页和日志里的时间是任务实例实际启动的start_date。这两个时间本身就可能存在差异——比如DAG调度间隔设为@hourly,调度器会在每个整点触发任务,此时execution_date是整点时刻,但任务实际启动(start_date)可能因资源等延迟几分钟甚至更久。但如果你的情况是固定差1小时,那大概率不是这个原因。

2. UI时区渲染Bug(Airflow版本问题)

部分Airflow版本(比如2.2.x到2.4.x之间的部分子版本)存在UI时区渲染不一致的问题:

  • 汇总页在渲染时间时,错误地将本地时区时间转换为UTC后展示,而详情页和日志页面则正确使用了配置的本地时区,导致两者差1小时(刚好对应UTC与本地时区的时差)。
  • 验证方式:检查Airflow配置中default_timezone和webserver_default_ui_timezone是否都设置为同一时区(比如Asia/Shanghai),如果配置正确但仍出现问题,基本可以确定是版本Bug,升级到较新的稳定版本(比如2.5+)即可解决。

3. 调度器与Webserver时区不一致

虽然你说时区设置一致,但需要确认调度器进程和Webserver进程的运行环境时区是否统一:

  • 比如Webserver所在服务器时区是CST,但调度器所在容器/服务器时区是UTC,导致调度器生成的execution_date是UTC时间,Webserver汇总页直接展示这个时间,而详情页则转换为本地时区显示,从而出现1小时差。
  • 验证方式:分别在调度器和Webserver所在环境执行date命令,确认时区是否一致;同时检查Airflow配置文件中core/default_timezone是否在两个进程中都正确加载。

结论

如果你的时区配置(包括系统时区和Airflow配置)完全一致,且排除了execution_date和实际运行时间的概念混淆,那大概率是Airflow特定版本的UI渲染Bug,升级到最新稳定版本即可解决;若配置或系统时区存在差异,则需要统一时区设置。

内容的提问来源于stack exchange,提问作者Arnon Phongsiang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:42:17