我有一项工作,我已将其设置为在周三 9:00 UTC 运行。它在延迟间隔结束时没有按计划运行,我觉得这很奇怪,因为我相信我已经正确定义了所有内容。
default_args = {
'start_date': airflow.utils.dates.days_ago(0),
'retries': 1,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
'noncomp_trial',
default_args=default_args,
description='test of dag',
schedule_interval='0 9 * * 3',
dagrun_timeout=timedelta(minutes=20))
如果有人在这里有任何建议,将不胜感激!
答案 0 :(得分:0)
一旦 start_date
+ 一个 schedule_interval
值通过,Airflow Scheduler 就会运行任务。在您的示例中,DAG 将在下一周发生的星期三上午 9:00 之前运行。
查看有关 start_date
和 schedule_interval
here 之间关系的更多信息。
您可以尝试将 start_date
设置为过去一两周的静态日期,看看是否可行?并且为了确保调度程序不会尝试在新的 start_date
和现在之间的每个 schedule_interval
+ start_date
出现时执行,您可以在 DAG 上设置 catchup=False
。例如:
from datetime import datetime
dag = DAG(
'noncomp_trial',
default_args= {
'start_date': datetime(2021, 7, 1),
'retries': 1,
'retry_delay': timedelta(minutes=5)
},
description='test of dag',
schedule_interval='0 9 * * 3',
dagrun_timeout=timedelta(minutes=20),
catchup=False,
)