【发布时间】:2021-03-03 20:03:30
【问题描述】:
我尝试了下面的代码,但我仍然遇到问题
from airflow.models DagModel
def get_latest_execution_date(**kwargs):
session = airflow.settings.Session()
f = open("/home/Insurance/InsuranceDagsTimestamp.txt","w+")
try:
Insurance_last_dag_run = session.query(DagModel)
for Insdgrun in Insurance_last_dag_run:
if Insdgrun is None:
f.write(Insdgrun.dag_id+",9999-12-31"+"\n")
else:
f.write(Insdgrun.dag_id+","+ Insdgrun.execution_date+"\n")
except:
session.rollback()
finally:
session.close()
t1 = PythonOperator(
task_id='records',
provide_context=True,
python_callable=get_latest_execution_date,
dag=dag)
有什么方法可以修复和获取最新的 dag 运行时信息
【问题讨论】:
-
快速search 返回一些结果,其中 (1) Apache airflow macro to get last dag run execution time、(2) Getting the date of the most recent successful DAG execution 和 ( 3) How to get last two successful execution dates of Airflow job? 似乎适用于您的问题。还请详细说明
"..but still i am getting issue.." -
@y2k-shubham .. 感谢您的回复,我得到了无效的函数“get_last_dag_run”..
-
我正在尝试获取所有 dag 而不是任何特定的 dag
-
@y2k-shubham .. 你能帮我建议我需要导入哪个模块以获得 dag 的最后成功执行日期吗,我尝试了 dag 模型但我没有得到
-
(假设您要通过某个任务/运算符运行此脚本)您需要使用dag property from task:
my_task.dag,其中my_task是对您的任务/运算符的引用(在自定义运算符,你可以使用self)
标签: airflow