我正在尝试在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
答案 0 :(得分:1)
您似乎没有使用REDISTOGO_URL
,因为错误消息指出localhost
尝试检查:
您是否在同一个应用上运行芹菜,如果没有检查其他服务器的配置。
答案 1 :(得分:1)
发现问题。我将芹菜后端配置为字符串'redis'而不是REDIS_URL。
我有什么:
CELERY_RESULT_BACKEND = 'redis'
应该是什么:
CELERY_RESULT_BACKEND = REDIS_URL
德米特里 - 感谢你的帮助。