2015-09-16 56 views
0

我正在用芹菜和redis django。 我不斷收到此錯誤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

你可能打在計劃限制Redis服務器本身。如果您使用的是Heroku Redis插件,請參閱計劃描述:https://elements.heroku.com/addons/heroku-redis

您應該期望每個測試儀至少有1個連接 - 用於Web dynos排隊填充內容,並且芹菜工作人員可以彈出消息。 20 web + 5芹菜很容易讓你在免費的階層。

+0

我說我有400沒有使用免費層的計劃... – Tyler

+0

嗯...完全錯過了細節,對此感到遺憾。無論如何,關鍵是要弄清楚每個進程(以及擴展,每個測試程序)的連接數量。例如,如果您使用的是gunicorn或uwsgi,則每個網頁dyno都會有多個進程(因此有多個連接池),因此連接數可能會比預期快得多。 – bimsapi

+0

這是問題是連接池我設置該配置,現在它的作品,謝謝你的幫助! – Tyler