在气流上执行任务期间是否可以检索上次成功执行任务的日期?

kik*_*iki 3 airflow airflow-scheduler

在 Airflow 上,我们目前正在使用{{ prev_execution_date_success }}dag 级别来执行查询。

我想知道是否可以按任务获取它(即检索特定任务的最后成功执行日期,而不是整个 DAG)

感谢您的帮助

Ela*_*lad 6

从当前 DAG 运行中,您可以访问任务实例并查找上一个处于成功状态的任务。

from airflow.models.taskinstance import TaskInstance
from airflow.utils.state import State
ti = TaskInstance(task_id=your_task_id,
                  dag_id=your_task_id,
                  execution_date=execution_date)
prev_task_success_state = ti.get_previous_ti(state=State.SUCCESS)
Run Code Online (Sandbox Code Playgroud)

请注意,get_previous_ti返回TaskInstance对象,因此您可以访问与任务相关的任何内容。