为什么气流不是 运行 最近的任务
Why is airflow not running the most recent task
我已经使用以下参数设置了一个 dag
local_tz = pendulum.timezone('US/Eastern')
default_args = {
'retries': 3,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
dag_id='some_dag',
start_date=datetime(2021, 1, 8, tzinfo=local_tz),
schedule_interval='0 16 8 * *',
default_args=default_args,
catchup=True
)
我预计最近的任务 运行 是在 5 月 8 日,但是,我只看到 2 月 8 日、3 月 8 日和 4 月 8 日。我似乎无法弄清楚为什么 Airflow 在四月停止。
目前是 5 月 25 日,所以 5 月 8 日 运行 不应该与其他月份一起回填吗?需要说明的是,我今天刚刚部署了这个 dag,所以所有已执行的 dag 运行 包括丢失的 5 月 8 日都是回填。
这是意料之中的。
正如您提到的,Airflow 在间隔结束时安排任务。
根据您的设置,日程安排将如下所示:
1st
运行 将在 2021-02-08
开始,此 运行 execution_date
将是 2021-01-08
2nd
运行 将在 2021-03-08
开始,此 运行 execution_date
将是 2021-02-08
3th
运行 将在 2021-04-08
开始,此 运行 execution_date
将是 2021-03-08
4th
运行 将在 2021-05-08
开始,此 运行 execution_date
将是 2021-04-08
5th
运行 将在 2021-06-08
开始,此 运行 execution_date
将是 2021-05-08
由于您实际上将 DAG 设置为在 2021-05-26
Airflow 执行的那一刻 1st-4th
运行s 开始,因为这些 运行s 的间隔已经结束。 5th
运行 尚未开始,因为间隔尚未结束,它将在 2021-06-08
.
结束
您可以在 answer.
中阅读有关 Airflow 行为为何如此的更详尽的解释
我已经使用以下参数设置了一个 dag
local_tz = pendulum.timezone('US/Eastern')
default_args = {
'retries': 3,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
dag_id='some_dag',
start_date=datetime(2021, 1, 8, tzinfo=local_tz),
schedule_interval='0 16 8 * *',
default_args=default_args,
catchup=True
)
我预计最近的任务 运行 是在 5 月 8 日,但是,我只看到 2 月 8 日、3 月 8 日和 4 月 8 日。我似乎无法弄清楚为什么 Airflow 在四月停止。
目前是 5 月 25 日,所以 5 月 8 日 运行 不应该与其他月份一起回填吗?需要说明的是,我今天刚刚部署了这个 dag,所以所有已执行的 dag 运行 包括丢失的 5 月 8 日都是回填。
这是意料之中的。 正如您提到的,Airflow 在间隔结束时安排任务。 根据您的设置,日程安排将如下所示:
1st
运行 将在 2021-02-08
开始,此 运行 execution_date
将是 2021-01-08
2nd
运行 将在 2021-03-08
开始,此 运行 execution_date
将是 2021-02-08
3th
运行 将在 2021-04-08
开始,此 运行 execution_date
将是 2021-03-08
4th
运行 将在 2021-05-08
开始,此 运行 execution_date
将是 2021-04-08
5th
运行 将在 2021-06-08
开始,此 运行 execution_date
将是 2021-05-08
由于您实际上将 DAG 设置为在 2021-05-26
Airflow 执行的那一刻 1st-4th
运行s 开始,因为这些 运行s 的间隔已经结束。 5th
运行 尚未开始,因为间隔尚未结束,它将在 2021-06-08
.
您可以在 answer.
中阅读有关 Airflow 行为为何如此的更详尽的解释