Celery: nombre maximum de clients atteint

Créé le 17 sept. 2015  ·  3Commentaires  ·  Source: celery/celery

J'utilise django avec céleri et redis.
Je continue à recevoir cette erreur redis.e xceptions:ResponseError nombre maximum de clients atteint
J'utilise heroku et mon backend redis a une connexion maximale de 400. J'exécute 20 dynos pour l'application principale et pour le céleri, j'exécute 5 dynos. Comment définir le nombre maximum de connexions ? J'ai essayé de le mettre dans mon celery.py comme ceci:

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,)

ont également essayé de mettre CELERY_REDIS_MAX_CONNECTIONS = 20 à l'intérieur de mon settings.py

Commentaire le plus utile

salut @ask
Le problème a-t-il été résolu après la sortie de celery 4.0 ?
J'ai le même problème avec celery-3.1.23 et redis-2.6.
redis maxclients par défaut est 10000 , et après 3 mois d'exécution de céleri, les clients redis passent à 10000.
J'ai trouvé que la connexion du serveur redis est pleine, mais le céleri n'a que peu de connexions (par netstat), donc je redémarre le serveur redis, puis ça marche.
mais comment puis-je résoudre le problème par les paramètres ou d'une autre manière?

Tous les 3 commentaires

Nous fermons ceci, car nous n'avons pas les ressources pour accomplir cette tâche.

Peut être corrigé dans le maître, voyons s'il revient après la version 4.0.

Certaines personnes disent que BROKER_POOL_LIMIT=0 résout un problème similaire : http://stackoverflow.com/questions/12013220/celery-creating-a-new-connection-for-each-task

Cela peut-il être lié @ask ?

salut @ask
Le problème a-t-il été résolu après la sortie de celery 4.0 ?
J'ai le même problème avec celery-3.1.23 et redis-2.6.
redis maxclients par défaut est 10000 , et après 3 mois d'exécution de céleri, les clients redis passent à 10000.
J'ai trouvé que la connexion du serveur redis est pleine, mais le céleri n'a que peu de connexions (par netstat), donc je redémarre le serveur redis, puis ça marche.
mais comment puis-je résoudre le problème par les paramètres ou d'une autre manière?

Cette page vous a été utile?
0 / 5 - 0 notes