我最近将气流版本从气流1.8升级到apache-airflow 1.9,升级成功了,我使用Celery Executor扩展了环境,一切似乎工作正常但是dag和任务开始日期,执行日期等所有出现在UTC时区中,并且计划的dag以UTC格式运行,在升级之前它们曾经以本地时区(即pdt)运行。
关于如何将pdt作为气流中的默认时区的任何想法?
我尝试在default_timezone
到airflow.cfg
中使用default_timezone = pdt
,但即使在重新启动所有服务后,它也会调度UTC中的dags和任务。期待您的帮助,将默认时区修改为pdt。
答案 0 :(得分:7)
在版本1.9.0之前的本地时区中运行的气流是无意的,只是使用datetime.now()
和datetime.today()
代替datetime.utcnow()
的Airflow代码的副作用。这已在AIRFLOW-289下的1.9.0中得到纠正,正如您所观察到的那样,时区独立(始终为UTC)。
官方支持将Airflow识别为时区,并将其合并到主分支中。此作品已作为AIRFLOW-288的一部分完成,并且在最新的稳定版本(1.9.0)中不。您可以在下一个主要版本中预期它。
一旦你有了这个改变,马特的回答应该可以帮助你找到你想要的东西。
答案 1 :(得分:4)
根据these docs,default_timezone
接受IANA TZ数据库时区标识符。它们列在这里。
如果您想要美国太平洋时间,则应设置default_timezone=America/Los_Angeles
。