Airflow运行tasks test命令提示TaskNotFound: processing_user任务未找到
问题根因
- TaskNotFound报错由大小写不匹配直接导致:你代码中PythonOperator的
task_id定义为大写开头的Processing_user,但测试命令中填写的是小写开头的processing_user,Airflow的task_id大小写敏感,因此无法定位到对应任务。 - 日志中的警告信息和本次错误无关,属于Airflow自带示例DAG
example_task_group_decorator的内部冲突提示,不影响自定义DAG的运行。
解决方法
- 直接修改测试命令,使用和代码中一致的task_id即可正常执行测试:
airflow tasks test user_processing Processing_user 2020-01-02
- (可选规范优化)为避免后续出现同类大小写混淆问题,建议统一命名风格,可将代码中对应配置修改为全小写加下划线格式:
processing_user = PythonOperator( task_id='processing_user', # 改为全小写,和测试命令、函数名保持一致 python_callable= _processing_user )
额外注意项
你当前代码里还存在一个潜在问题,后续运行processing_user任务时会触发拉取XCOM失败的报错,可提前修改:
将_processing_user函数中ti.xcom_pull(task_id=['extracting_user'])的参数改为task_ids(末尾加s),修改后为:
users = ti.xcom_pull(task_ids=['extracting_user'])
内容的提问来源于stack exchange,提问作者Simba
相关产品推荐
相关产品推荐

