是否可以在气流任务执行期间检索最后一次成功执行任务的日期?
Is it possible to retrieve the last successful task execution date during a task execution on airflow?
在 Airflow 上,我们目前正在 dag 级别使用 {{ prev_execution_date_success }}
来执行查询。
我想知道是否可以按任务获取它(即检索特定任务的最后一次成功执行日期,而不是整个 DAG)
感谢您的帮助
从当前 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)
请注意 get_previous_ti
returns TaskInstance
对象,因此您可以访问与任务相关的任何内容。
在 Airflow 上,我们目前正在 dag 级别使用 {{ prev_execution_date_success }}
来执行查询。
我想知道是否可以按任务获取它(即检索特定任务的最后一次成功执行日期,而不是整个 DAG)
感谢您的帮助
从当前 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)
请注意 get_previous_ti
returns TaskInstance
对象,因此您可以访问与任务相关的任何内容。