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

RQ-python Redis队列任务入队后未执行问题求助

RQ-Python 任务生成ID但未执行,Worker报模块导入错误的解决方法

问题详情

  • 场景:在外部文件定义createAndSaveIndex函数,导入主文件后加入Redis队列,能成功生成Job ID,但函数始终未执行,job.is_finished持续返回False
  • 环境:MacOS系统,Homebrew安装Redis,redis-server已启动,终端操作Redis正常
  • 尝试过的排查:测试网上示例、调整函数位置,问题均未解决

Worker报错信息

File "/Users/-/micromamba/envs/flask/lib/python3.11/site-packages/rq/utils.py", line 107, in import_attribute
    return __builtins__[name]
           ~~~~~~~~~~~~^^^^^^
KeyError: 'backend_index.createAndSaveIndex'

以及:

File "/Users/-/micromamba/envs/flask/lib/python3.11/site-packages/rq/utils.py", line 109, in import_attribute
    raise ValueError('Invalid attribute name: %s' % name)
ValueError: Invalid attribute name: backend_index.createAndSaveIndex

(backend_index为函数所在的原文件名)

调整模块结构后的情况

改为如下包结构后问题依旧:

project/
├── main.py
└── indexCreation/
    ├── __init__.py
    └── createIndex.py (原名为backend_index)

__init__.py内容:

from .createIndex import createAndSaveIndex

解决方案

  • 统一使用VSCode集成终端启动redis-server、rq worker以及运行主程序,任务可正常执行
  • 核心原因:启动rq worker时,必须保证工作目录与导入模块所在的项目根目录一致,否则Worker无法正确定位并导入任务函数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 15:27:13