我正在使用django和芹菜和redis。 我一直收到此错误redis.exceptions:ResponseError达到的最大客户端数量 我正在使用heroku和我的redis后端有最大连接400.我为主应用程序和芹菜运行20 dynos我运行5 dynos。如何设置最大连接数?我已经尝试过将它放入我的celery.py中,如此:
from __future__ import absolute_import
import os
from celery import Celery
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'imdowntags.settings')
from django.conf import settings
app = Celery('imdowntags',
broker=os.environ['REDIS_URL'],
backend=os.environ['REDIS_URL'],
include=['imdowntags.tasks'])
# Using a string here means the worker will not have to
# pickle the object when using Windows.
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
app.conf.update( CELERY_REDIS_MAX_CONNECTIONS = 20,)
也尝试过放
CELERY_REDIS_MAX_CONNECTIONS =20
在我的settings.py
中答案 0 :(得分:1)
您可能在Redis服务器本身上达到了计划限制。如果您使用的是Heroku Redis插件,请参阅计划说明:https://elements.heroku.com/addons/heroku-redis
你应该期望每个dyno至少有1个连接 - web dynos可以排队,而芹菜工作者则会把它们丢掉。 20 web + 5芹菜很容易让你超过免费等级。