我有一个气流调度器,它的时区是UTC。我想安排一个基于EST时间的DAG。这里的问题是,我想安排我的DAG运行从下午6点到9分钟东部时间每星期一至星期五。将EST转换为UTC 6 PM变成10 PM,9 PM变成第二天的凌晨1点。
我尝试给出基于UTC - '0 10-23,1 *MON‘的crontab表达式,但是由于时区不同,我的DAG将在周五跳过0AM到1AM (8-9 PM EST)的运行。请帮助我完成适当的日程安排。
任何帮助都是非常感谢的。
发布于 2021-07-09 09:15:58
你基本上有两个选择:
1.更改系统宽时区
在airflow.cfg
中,您可以定义调度时区是什么。例如,在阿姆斯特丹,情况如下:
[core]
default_timezone = Europe/Amsterdam
这将设置完整的气流安装计划,根据阿姆斯特丹时间。
2.让您的DAG时区知道
如果您提供一个时区感知的start_date
,它将使用该时区作为这里提到的来跟踪夏令时。下面的示例是直接从气流文件复制的,并说明了如何使您的DAG感知。
import pendulum
local_tz = pendulum.timezone("Europe/Amsterdam")
default_args=dict(
start_date=datetime(2016, 1, 1, tzinfo=local_tz),
owner='airflow'
)
dag = DAG('my_tz_dag', default_args=default_args)
op = DummyOperator(task_id='dummy', dag=dag)
print(dag.timezone) # <Timezone [Europe/Amsterdam]>
https://stackoverflow.com/questions/68312235
复制相似问题