Airflow中无法找到AwaitableTriggerDagRunOperator的问题求助
解决Airflow中AwaitableTriggerDagRunOperator导入报错问题
问题原因
你安装的apache-airflow==2.5.3属于较新版本,原项目依赖的AwaitableTriggerDagRunOperator并非Airflow官方核心算子,而是旧版airflow-commons包中的组件,且该组件在当前安装的airflow-commons==0.0.67中已被移除或路径变更;同时Airflow后续版本已将类似异步等待功能整合到官方核心算子中。
解决方案
方案1:适配新版Airflow官方算子
Airflow 2.2及以上版本中,官方TriggerDagRunOperator已支持异步等待功能,无需依赖第三方算子。替换导入语句并调整逻辑即可:
from airflow.operators.trigger_dagrun import TriggerDagRunOperator
若需等待触发的DAG执行完成,可使用Airflow 2.3+版本支持的wait_for_completion参数:
trigger_task = TriggerDagRunOperator( task_id="trigger_target_dag", trigger_dag_id="target_dag_id", wait_for_completion=True, poke_interval=30, # 检查DAG状态的间隔时间(单位:秒) )
方案2:回退到适配原项目的旧版依赖
若必须保留原项目的导入逻辑,需安装包含该算子的旧版airflow-commons,同时锁定Airflow核心版本到原项目适配的旧版,避免版本冲突:
# 示例版本,需验证是否包含目标算子 pip install airflow-commons==0.0.50 apache-airflow==2.2.5
方案3:确认算子的实际归属
若airflow_common是原项目内部的自定义模块而非第三方包,需检查项目代码结构,确认该模块是否存在于项目目录中,若缺失则从原项目仓库找回对应文件。
内容的提问来源于stack exchange,提问作者Gerardo Zinno
相关产品推荐
相关产品推荐

