Airflow 1.10.1 - 更改时区

Fel*_* FB 3 airflow airflow-scheduler

我通过 docker 在 GCP 上的 VM 内运行气流(1.10.1)。已经更改了我的 VM 的本地时间,并且配置 (airflow.cfg) 还设置了我所在国家/地区(美国/圣保罗)的 default_zone 但它仍然在主屏幕上以 UTC 时间继续,因此处理也在 UTC 中完成。你还能做点别的吗?

Fel*_* FB 5

补充给定的答案,我能够通过以下代码根据我在 DAG 内的时区更改执行:

import pendulum 

default_args = {
    'owner': 'airflow',
        'start_date': pendulum.datetime(year=2019, month=7, day=26).astimezone('America/Sao_Paulo'),
        'depends_on_past': False,
        'email': ['airflow@airflow.com'],
        'email_on_failure': False,
        'email_on_retry': False,
        'depends_on_past': False,
        # If a task fails, retry it once after waiting
        # at least 5 minutes
        'retries': 1,
        'retry_delay': timedelta(minutes=5),
                'on_failure_callback': slack_msg
}

dag = DAG(
    dag_id=nm_dag,
    default_args=default_args,
    schedule_interval='40 11 * * *',
    dagrun_timeout=timedelta(minutes=60)
)
Run Code Online (Sandbox Code Playgroud)


man*_*ioz 3

文档中中:

\n\n
\n

默认情况下启用对时区的支持。Airflow 在内部和数据库中存储 UTC 格式的日期时间信息。它允许您使用与时区相关的计划来运行 DAG。目前,Airflow 不会在用户界面中将它们转换为最终用户\xe2\x80\x99s 时区。在那里它将始终以 UTC 格式显示。运算符中使用的模板也不会被转换。

\n
\n\n

时区信息被暴露,由DAG的编写者进行相应的处理

\n