在Airflow上执行任务期间,可以通过使用Airflow的上下文变量来检索上次成功的任务执行日期。Airflow提供了一个名为execution_date
的上下文变量,它表示当前任务实例的执行日期。通过使用execution_date
变量,可以访问上次成功的任务执行日期。
在Airflow中,任务的执行日期是任务实例的一个重要属性,它指示任务应该在哪个日期执行。当任务成功完成时,Airflow会自动更新任务实例的状态,并记录成功的执行日期。因此,可以通过检查任务实例的状态和执行日期来确定上次成功的任务执行日期。
以下是一个示例代码,演示如何在Airflow任务中检索上次成功的任务执行日期:
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime
def my_task():
# 获取上次成功的任务执行日期
last_success_date = "{{ prev_execution_date_success }}"
print("上次成功的任务执行日期:", last_success_date)
dag = DAG(
'my_dag',
start_date=datetime(2022, 1, 1),
schedule_interval='@daily'
)
task = PythonOperator(
task_id='my_task',
python_callable=my_task,
dag=dag
)
在上述示例中,my_task
函数通过使用{{ prev_execution_date_success }}
来获取上次成功的任务执行日期,并将其打印出来。这样,每次任务执行时,都会输出上次成功的任务执行日期。
需要注意的是,上述示例中的代码仅适用于Airflow的PythonOperator任务。对于其他类型的任务,可能需要使用不同的方法来检索上次成功的任务执行日期。
推荐的腾讯云相关产品:腾讯云容器服务(Tencent Kubernetes Engine,TKE),它是一种高度可扩展的容器管理服务,可帮助您轻松运行和管理Docker容器化应用程序。TKE提供了强大的容器编排和调度功能,可与Airflow等工具集成,实现任务的自动化调度和执行。
腾讯云容器服务产品介绍链接地址:腾讯云容器服务
领取专属 10元无门槛券
手把手带您无忧上云