【发布时间】:2020-07-11 15:28:20
【问题描述】:
'start_date': datetime(2020, 1, 1),
time_zone='亚洲/新加坡',
如果我想在每周三 (SGT) 上午 00:55 运行报告,我应该输入“55 0 * * 3”,但我必须输入“55 0 * * 4”。 (这样执行时间将按照预期,每周三 00:55 SGT)
同样,如果我希望每个月的第一天凌晨 3 点运行报告,我应该输入“schedule_interval = '0 3 1 * *”,然后它会将它安排到每月的最后一天凌晨 3 点。
发生了什么事?
我知道 UTC 时间提前 8 小时,但这仍然不能解释这一点,因为这些在 SGT 的预定开始时间之前 1 天开始。
因此,对于以下内容(仅在相关部分中复制),DAG 运行时间均为周三 00:55 AM SGT。
from airflow.operators.email_operator import EmailOperator
from airflow.contrib.hooks.ssh_hook import SSHHook
from airflow.contrib.operators.ssh_operator import SSHOperator
from datetime import datetime, timedelta
from airflow import DAG
import pendulum
default_args = {
'owner': 'fs', # Change to your group name
'depends_on_past': False,
'retries': 3,
'cathup': True,
'start_date': datetime(2020, 1, 1),
'retry_delay': timedelta(minutes=30),
# every Wednesday 0:55, so ga_flattening done for BR as well for Sunday
dag = DAG(
dag_id='SOMETHING',
default_args=default_args,
max_active_runs = 10, # max 10 DAGS running
schedule_interval= '55 0 * * 4', #this will be wednesday 00:55 AM, not sure why
time_zone='Asia/Singapore',
catchup=True)
【问题讨论】: