首页 文章

apache-airflow 1.9默认时区设置为非utc

提问于
浏览
7

我最近将气流版本从气流1.8升级到apache-airflow 1.9,升级成功了,我使用Celery Executor扩展了环境,一切似乎工作正常但是dag和任务开始日期,执行日期等都出现在UTC时区和计划的dags以UTC格式运行,在升级之前,它们曾经在本地时区(pdt)中运行 .

有关如何将pdt作为气流中的默认时区的任何想法?

我已尝试在 airflow.cfg 中使用 default_timezonedefault_timezone = pdt ,但即使重新启动所有服务,它也会调度UTC中的dags和任务 . 期待您的帮助,将默认时区修改为pdt .

2 回答

  • 6

    在版本1.9.0之前的本地时区中运行的气流是无意的,只是使用 datetime.now()datetime.today() 而不是 datetime.utcnow() 的Airflow代码的副作用 . 这已在1.9.2下的AIRFLOW-289中得到纠正,使得时区独立(总是UTC),如您所观察到的那样 .

    官方支持将Airflow识别为时区,并将其合并到主分支中 . 这项工作是作为AIRFLOW-288的一部分完成的,并且在最新的稳定版本(1.9.0)中可用 not . 您可以在下一个主要版本中预期它 .

    一旦你有了这个改变,马特的回答应该可以帮助你找到你想要的东西 .

  • 2

    根据these docsdefault_timezone 接受IANA TZ数据库时区标识符 . 它们列在这里 .

    如果您想要美国太平洋时间,您应该设置 default_timezone=America/Los_Angeles .

相关问题