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

Apache Airflow 2:如何带配置重跑单个任务而非整个DAG?

Apache Airflow 2 单任务重跑传入配置的解决方案

原生支持情况

Airflow 2的UI清除任务功能不支持直接传入自定义配置,仅能清除任务让其基于原DAG运行时的配置重跑。

可行解决办法

1. 使用CLI命令直接触发带配置的任务重跑

通过airflow tasks run命令,可指定任务、DAG ID、执行日期,并通过--conf参数传入JSON格式的自定义配置。示例:

airflow tasks run my_dag my_target_task 2024-05-20T00:00:00 --conf '{"custom_param": "new_value"}'

任务中可通过模板语法{{ dag_run.conf.get('custom_param') }}获取传入的配置。

2. 借助全局变量实现UI可配置的重跑

如果需要通过UI操作实现,可利用Airflow的Variable功能:

  • 前往UI的Admin > Variables,添加临时变量(比如task_reconf)并设置所需配置
  • 修改目标任务的逻辑,优先读取Variable.get('task_reconf'),再回退到原dag_run.conf
  • 清除目标任务触发重跑,完成后删除临时变量避免影响后续运行

3. 通过REST API触发带配置的任务清除重跑

调用Airflow REST API的任务实例清除接口,在请求体中传入自定义配置。示例请求(v2 API):

{
  "conf": {"custom_key": "custom_value"},
  "replace_microseconds": false
}

请求地址格式:http://<airflow-webserver-url>/api/v1/dags/<dag_id>/dagRuns/<dag_run_id>/taskInstances/<task_id>/clear
需确保API权限配置正确,且知晓目标任务对应的dag_run_id。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 16:22:04