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