我正试图在Heroku上设置Redis作为Celery的后端 . 我有它在本地工作但在Heroku上,我得到这个错误(在芹菜任务完成后):ConnectionError:错误111连接localhost:6379 . 拒绝连接 .
从我从其他答案中可以看出,这表明redis服务器不在线,尽管REDISTOGO_URL似乎配置正确 .
在settings.py中:
REDIS_URL = os.getenv('REDISTOGO_URL', 'redis://localhost:6379/0')
在tasks.py中:
from celery import Celery
celery = Celery('tasks', backend=settings.CELERY_RESULT_BACKEND, broker=settings.REDIS_URL)
版本:
celery==3.0.5
celery-with-redis==3.0
django-celery==3.0.4
kombu==2.3.2
redis==2.6.0
2 回答
看起来您没有使用
REDISTOGO_URL
,因为错误消息指出localhost
尝试检查:
heroku config,只是为了检查在配置中是否设置了REDISTOGO_URL
转到heroku上的shell(如this),看看python是否正确获取了url
你是否在同一个应用程序上运行芹菜,如果没有检查其他服务器的配置 .
发现了问题 . 我将芹菜后端配置为字符串'redis'而不是REDIS_URL .
我有什么:
应该是什么:
德米特里 - 感谢你的帮助 .