Django Heroku上Redis的连接被拒绝
我正在尝试在Heroku上设置Redis作为芹菜的后端。我让它在本地工作,但在Heroku上,我(在芹菜任务完成后)出现以下错误:ConnectionError:error 111连接localhost:6379。连接被拒绝 从其他答案中我可以看出,这表明redis服务器不在线,尽管REDISTOGO_URL似乎配置正确 在settings.py中:Django Heroku上Redis的连接被拒绝,django,heroku,redis,celery,Django,Heroku,Redis,Celery,我正在尝试在Heroku上设置Redis作为芹菜的后端。我让它在本地工作,但在Heroku上,我(在芹菜任务完成后)出现以下错误:ConnectionError:error 111连接localhost:6379。连接被拒绝 从其他答案中我可以看出,这表明redis服务器不在线,尽管REDISTOGO_URL似乎配置正确 在settings.py中: REDIS_URL = os.getenv('REDISTOGO_URL', 'redis://localhost:6379/0') 在task
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
看起来您没有使用
REDISTOGO\u URL
,因为错误消息表明localhost
尝试检查:
您是否在同一个应用程序上运行芹菜,如果不运行,请检查其他服务器的配置。发现问题。我将芹菜后端配置为字符串“redis”,而不是redis\uURL 我所拥有的:
CELERY_RESULT_BACKEND = 'redis'
它应该是什么:
CELERY_RESULT_BACKEND = REDIS_URL
Dmitry-感谢您的帮助。这也是我的想法-我如何检查它在使用什么?REDISTOGO\u URL在配置中设置正确。Python也在引入它(如果我导入settings.REDIS_URL,它将匹配Heroku配置)。芹菜在同一个应用程序中。查看我的日志,芹菜似乎在其配置中报告了正确的代理(相同的REDISTOGO_URL)。从这里很难分辨。我会尝试根据他们的django文档设置芹菜,将broker放入settings.py,看看这是否有帮助。