Django rq worker正确设置传递django settngs

时间:2016-05-10 10:02:38

标签: python django redis django-rq

我有一个工作正常的django项目。我需要一名rq工作人员来做一份工作。我有一台redis-server正在运行。

这是我的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终端运行worker:      / 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>)))

有人可以告诉我什么可能是错的吗?

0 个答案:

没有答案