You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否可通过外部方式查询Airflow中DAG内各任务的运行状态?

Airflow 指定DAG全量任务运行状态查询方案

Airflow 官方REST API已经原生支持你需要的能力,无需额外定制开发接口,具体实现方式如下:

适用版本

Airflow 2.0及以上版本的稳定REST API可直接使用,1.x版本的实验性API逻辑一致,仅请求路径存在差异。

核心调用逻辑

你可以通过两个公开端点的组合,或者单端点过滤直接拿到目标数据:

方案1:查询最新一次DAG运行的所有任务状态

  1. 第一步调用接口获取指定DAG的最新运行ID:
    GET /dags/<替换为你的DAG_ID>/dagRuns?limit=1&order_by=-start_date
    返回结果中的dag_run_id字段即为该DAG最近一次运行的唯一ID
  2. 第二步调用接口拉取该次运行下所有任务的状态:
    GET /dags/<替换为你的DAG_ID>/dagRuns/<上一步获取的dag_run_id>/taskInstances
    该接口返回结果会列出该次DAG运行内所有任务的实例信息,其中state字段会明确标注running(运行中)、up_for_retry(重试中)、success(成功)、failed(失败)、queued(排队中)等所有状态。

方案2:单次调用直接拉取指定DAG的全量任务状态

如果不需要限定DAG运行次数,可直接调用任务实例的批量查询接口:
GET /dags/<替换为你的DAG_ID>/taskInstances
你可以通过追加execution_date_gte、execution_date_lte参数过滤指定时间范围内的任务实例,也可以追加state参数直接筛选你关注的运行中、重试中的任务,无需二次处理返回结果。

重点字段说明

返回结果中你重点关注几个字段即可满足需求:

  • task_id:对应DAG内定义的任务名称
  • state:任务当前运行状态
  • try_number:任务当前重试次数,可直接用来识别重试任务
  • execution_date:任务所属DAG运行的执行时间

内容的提问来源于stack exchange,提问作者zDJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:45:04