每当我尝试运行DAG时,它都将处于运行状态,但任务将无法运行.我将开始日期设置为datetime.today(),将我的计划间隔设置为"*****".手动触发运行将启动dag,但由于以下原因,任务将无法运行:
执行日期为2017-09-13T00:00:00,但这是在任务开始日期2017-09-13T16:20:30.363268之前.
我已经尝试了各种计划间隔组合(例如每天的特定时间)以及等待触发dag和手动触发.似乎没什么用.
mus*_*gok 17
首先start_date是一个任务属性;但一般来说,它default_args像 dag 属性一样被设置和使用。
消息很清楚,如果一个任务的execution_date在任务的 之前 start_date,它不能被安排。您可以设置start_date较小的值:
import datetime
default_args = {
'start_date': datetime.datetime(2019, 1, 1) # hard coded date
}
Run Code Online (Sandbox Code Playgroud)
或者
import airflow
default_args = {
'start_date': airflow.utils.dates.days_ago(7) # 7 days ago
}
Run Code Online (Sandbox Code Playgroud)
来自气流文档
请注意,如果您在一天的 schedule_interval 上运行 DAG,标记为 2016-01-01 的运行将在 2016-01-01T23:59 之后不久触发。换句话说,一旦它涵盖的时间段结束,就会启动作业实例。
让我们重复一遍调度程序在开始日期之后的一个 schedule_interval 时间段运行您的作业,在周期结束时。
因此,当您安排 dag 时,任何 dag_runexecution_date都将小于其开始时间。对于每天,将有 24 小时的差异。
我们可以说开始时间 = execution_date+ schedule_interval
(开始时间不是start_date,它只是 dag 运行的开始时间)