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即可