airflow时区问题
pip安装apache-airflow 的修改方式1、在airflow家目录下修改airflow.cfg,设置default_timezone = Asia/Shanghai2、进入airflow包的安装位置,也就是site-packages的位置,以下修改文件均为相对位置修改airflow/utils/timezone.py在 utc = pendulum.timezone(‘UTC...
全栈工程师开发手册 (作者:栾鹏)
架构系列文章
pip安装apache-airflow 的修改方式
1、在airflow家目录下修改airflow.cfg,设置
default_timezone = Asia/Shanghai
2、进入airflow包的安装位置,也就是site-packages的位置,以下修改文件均为相对位置
修改airflow/utils/timezone.py
在 utc = pendulum.timezone(‘UTC’) 这行(第27行)代码下添加,
from airflow import configuration as conf
# from airflow.configuration import conf 最新版的修改方式
try:
tz = conf.get("core", "default_timezone")
if tz == "system":
utc = pendulum.local_timezone()
else:
utc = pendulum.timezone(tz)
except Exception:
pass
修改utcnow()函数 (在第69行)
原代码 d = dt.datetime.utcnow()
修改为 d = dt.datetime.now()
修改airflow/utils/sqlalchemy.py
在utc = pendulum.timezone(‘UTC’) 这行(第37行)代码下添加
from airflow import configuration as conf
# from airflow.configuration import conf 最新版的修改方式
try:
tz = conf.get("core", "default_timezone")
if tz == "system":
utc = pendulum.local_timezone()
else:
utc = pendulum.timezone(tz)
except Exception:
pass
修改airflow/www/templates/admin/master.html(第31行)
把代码 var UTCseconds = (x.getTime() + x.getTimezoneOffset()*60*1000);
改为 var UTCseconds = x.getTime();
把代码 "timeFormat":"H:i:s %UTC%",
改为 "timeFormat":"H:i:s",
注释airflow/utils/sqlalchemy.py中的cursor.execute(“SET time_zone = ‘+00:00’”) (第124行)
最后重启airflow-webserver即可
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)