gpt4 book ai didi

airflow - 如何获得在 Airflow 中运行的 dag 的最新执行时间

转载 作者:行者123 更新时间:2023-12-04 11:58:59 25 4
gpt4 key购买 nike

我试过下面的代码,但我仍然遇到问题

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 运行时信息

最佳答案

有多种方法可以获取 DagRun 的最新执行情况。一种方法是利用 Airflow DagRun 模型。

from airflow.models import DagRun

def get_most_recent_dag_run(dag_id):
dag_runs = DagRun.find(dag_id=dag_id)
dag_runs.sort(key=lambda x: x.execution_date, reverse=True)
return dag_runs[0] if dag_runs else None


dag_run = get_most_recent_dag_run('fake-dag-id-001')
if dag_run:
print(f'The most recent DagRun was executed at: {dag_run.execution_date}')
您可以在 Airflow Docs located here 中找到有关 DagRun 模型及其属性的更多信息。 .

关于airflow - 如何获得在 Airflow 中运行的 dag 的最新执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63763545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com