首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取dag状态,如正在运行、成功或失败

如何获取dag状态,如正在运行、成功或失败
EN

Stack Overflow用户
提问于 2019-11-07 11:39:13
回答 2查看 10.3K关注 0票数 3

我想知道dag的状态是运行、失败还是成功。我正在通过CL参数airflow trigger触发dag,在作业执行之后,我想知道运行的状态。我找不到任何方法。

我尝试了airflow dag_state,但它没有提供任何帮助。如果一天中有不止一次运行,通过命令行参数或python代码获取最近一次运行的状态,我应该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-07 12:32:01

您可以将list_dag_runs命令与CLI配合使用,以列出给定dag ID的dag运行。返回的信息包括每次运行的状态。

您还可以通过python代码以几种不同的方式检索信息。我过去使用过的一种方法是'find' method in airflow.models.dagrun.DagRun

使用python3的示例说明如何通过DagRun.find()获取dag_runs的状态:

代码语言:javascript
运行
复制
dag_id = 'fake_dag_id'
dag_runs = DagRun.find(dag_id=dag_id)
for dag_run in dag_runs:
      print(dag_run.state)
票数 6
EN

Stack Overflow用户

发布于 2019-11-10 08:09:50

您可以使用以下CL

代码语言:javascript
运行
复制
airflow dag_state dag_id execution_date

示例:

代码语言:javascript
运行
复制
        airflow dag_state test_dag_id 2019-11-08T18:36:39.628099+00:00

在上面的示例中:

代码语言:javascript
运行
复制
test_dag_id is the actual dag
2019-11-08T18:36:39.628099+00:00 is the execution date. You can get this from airflow UI for your run.

另一种选择是使用airflow rest api插件。这是更好的选择。您可以触发dag,也可以检查DAG的状态。

https://github.com/teamclairvoyant/airflow-rest-api-plugin

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58741649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档