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

Airflow调度TaskGroup触发AttributeError: NoneType无update_relative属性

问题根因

你定义的get_task_group函数没有显式返回值,所以你赋值的run_model_task_group实际是None,当你把None传入上下游依赖设置方法时,就触发了AttributeError: 'NoneType' object has no attribute 'update_relative'报错。

修复方案

只需要修改get_task_group函数,在末尾返回你传入的task_group对象即可:

def get_task_group(dag, task_group):
    t1 = DummyOperator(task_id='t1', dag=dag, task_group=task_group)
    t2 = DummyOperator(task_id='t2', dag=dag, task_group=task_group)
    t3 = DummyOperator(task_id='t3', dag=dag, task_group=task_group)
    t4 = DummyOperator(task_id='t4', dag=dag, task_group=task_group)
    t5 = DummyOperator(task_id='t5', dag=dag, task_group=task_group)
    t_list = [t2, t3, t4]
    t1.set_downstream(t_list)
    t5.set_upstream(t_list)
    # 新增返回语句
    return task_group

修改后run_model_task_group就会指向你创建的TaskGroup实例,依赖设置就可以正常运行,最终的任务依赖就会符合预期逻辑:
任务依赖示意图

补充说明

你当前使用的Airflow 2.0.1原生支持TaskGroup的依赖批量设置,无需额外封装特殊逻辑,只要拿到TaskGroup实例就可以直接和其他任务/任务组设置上下游关系,和普通Operator的用法完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:45:03