我有一个运行良好的 django 项目。我需要一个 rq 工人来做一份工作。我有一个 redis 服务器正在运行。
Whis 是我的 worker.py 文件:
import os
import redis
from rq import Worker, Queue, Connection
listen = ['high', 'default', 'low']
redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')
conn = redis.from_url(redis_url)
if __name__ == '__main__':
with Connection(conn):
os.environ['DJANGO_SETTINGS_MODULE']='ak.settings.prod_lt'
worker = Worker(map(Queue, listen))
worker.work()
我使用以下命令行从我的 ubuntu 终端运行工作程序: /opt/crm/env/bin/python /opt/crm/ak/ak/worker.py
工人开始很好。
我给它的工作是从数据库中获取数据并将数据写入 excel 文件,但我收到以下错误:
rq.exceptions.UnpickleError: (
u'Could not unpickle',
ImportError('No module named ak.settings.prod_lt',
<function model_unpickle at 0x7fcba6b67938>,
(('crm', 'EmailExport'), [], <function simple_class_factory at 0x7fcba6b678c0>)))
谁能告诉我可能出了什么问题?