Ich verwende Django mit Sellerie und Redis.
Ich erhalte immer wieder diesen Fehler redis.e xceptions:ResponseError max number of clients erreicht
Ich verwende Heroku und mein Redis-Backend hat eine maximale Verbindung von 400. Ich betreibe 20 Dynos für die Haupt-App und für Sellerie betreibe ich 5 Dynos. Wie stelle ich die maximale Anzahl an Verbindungen ein? Ich habe versucht, es so in meine celery.py zu stecken:
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,)
habe auch versucht, CELERY_REDIS_MAX_CONNECTIONS = 20
in meine settings.py einzufügen
Wir schließen dies, da wir nicht über die Ressourcen verfügen, um diese Aufgabe abzuschließen.
Kann in Master behoben werden, mal sehen, ob es nach 4.0-Release wiederkommt.
Einige Leute sagen, dass BROKER_POOL_LIMIT=0
ein ähnliches Problem löst: http://stackoverflow.com/questions/12013220/celery-creating-a-new-connection-for-each-task
Kann das mit @ask zusammenhängen?
hallo @frag
Wurde das Problem nach der Veröffentlichung von Sellerie 4.0 behoben?
Ich habe das gleiche Problem mit Sellerie-3.1.23 und Redis-2.6.
redis default maxclients ist 10000 , und nach 3 Monaten Celery-Lauf steigen die redis-Clients auf 10000.
Ich habe festgestellt, dass die Verbindung des Redis-Servers voll ist, aber Sellerie hat nur wenige Verbindungen (von netstat ), also starte ich den Redis-Server neu, dann funktioniert es.
Aber wie kann ich das Problem durch Einstellungen oder auf andere Weise lösen?
Hilfreichster Kommentar
hallo @frag
Wurde das Problem nach der Veröffentlichung von Sellerie 4.0 behoben?
Ich habe das gleiche Problem mit Sellerie-3.1.23 und Redis-2.6.
redis default maxclients ist 10000 , und nach 3 Monaten Celery-Lauf steigen die redis-Clients auf 10000.
Ich habe festgestellt, dass die Verbindung des Redis-Servers voll ist, aber Sellerie hat nur wenige Verbindungen (von netstat ), also starte ich den Redis-Server neu, dann funktioniert es.
Aber wie kann ich das Problem durch Einstellungen oder auf andere Weise lösen?