由于执行日期和开始日期,无法运行Airflow任务

Bra*_*nko 14 airflow

每当我尝试运行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 运行的开始时间)


gan*_*til 0

尝试重新启动调度程序,这对我有用。

  • 这个问题背后的解释是什么? (2认同)