Airflow 1.10 中文时区解决(排坑)

主要是airflow1.10的一些方式已经不一样了,之前网上的一些文档可能不太适用于这个版本,另本文只适用于在线安装的,如果是源码安装的话,可能不太适用

  1. 在airflow家目录下修改airflow.cfg,设置

    default_timezone = Asia/Shanghai
    
  2. 进入airflow包的安装位置,也就是site-packages的位置,一下修改文件均为相对位置,我这边的位置是/usr/local/lib/python3.6/site-packages

    1. 修改airflow/utils/timezone.py

      1. 在utc = pendulum.timezone(‘UTC’)这行(第27行)代码下添加

        # utc = pendulum.timezone('UTC')
        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
        
      2. 修改utcnow()函数(在第69行)

        # d = dt.datetime.utcnow()
        dt = dt.datetime.now()
        
    2. 修改airflow/utils/sqlalchemy.py

      1. 在utc = pendulum.timezone(‘UTC’)这行(第37行)代码下添加

        # utc = pendulum.timezone('UTC')
        try:
            tz = conf.get("core", "default_timezone")
            if tz == "system":
                utc = pendulum.local_timezone()
            else:
                utc = pendulum.timezone(tz)
        except Exception:
            pass
        
    3. 修改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 修改中国时区(改airflow源码)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值