์
๋ฌ๋ฆฌ ๋ฐ redis์ ํจ๊ป django๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ด ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํฉ๋๋ค . redis.exception:ResponseError ์ต๋ ํด๋ผ์ด์ธํธ ์์ ๋๋ฌํ์ต๋๋ค.
์ ๋ heroku๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ redis ๋ฐฑ์๋์ ์ต๋ ์ฐ๊ฒฐ ์๋ 400์
๋๋ค. ๊ธฐ๋ณธ ์ฑ์ ๋ํด 20๊ฐ์ dyno๋ฅผ ์คํํ๊ณ ์๊ณ celery์ ๋ํด 5๊ฐ์ dyno๋ฅผ ์คํํ๊ณ ์์ต๋๋ค. ์ต๋ ์ฐ๊ฒฐ ์๋ ์ด๋ป๊ฒ ์ค์ ํฉ๋๊น? ๋ค์๊ณผ ๊ฐ์ด 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,)
๋ํ ๋ด settings.py ์์ CELERY_REDIS_MAX_CONNECTIONS = 20
๋ฅผ ๋ฃ์ด ๋ณด์์ต๋๋ค.
์ด ์์ ์ ์๋ฃํ ๋ฆฌ์์ค๊ฐ ์์ผ๋ฏ๋ก ์ด ์์ ์ ์ข ๋ฃํฉ๋๋ค.
๋ง์คํฐ์์ ์์ ๋ ์ ์์ต๋๋ค. 4.0 ๋ฆด๋ฆฌ์ค ์ดํ์ ๋ค์ ๋์ค๋์ง ๋ด ์๋ค.
์ด๋ค ์ฌ๋๋ค์ BROKER_POOL_LIMIT=0
๊ฐ ๋น์ทํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ๋งํฉ๋๋ค. http://stackoverflow.com/questions/12013220/celery-creating-a-new-connection-for-each-task
@ask ์ ๊ด๋ จ์ด ์์ต๋๊น?
์๋
@๋ฌป๋ค
Celery 4.0 ์ถ์ ์ดํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๊น?
celery-3.1.23 ๋ฐ redis-2.6์์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
redis ๊ธฐ๋ณธ maxclients๋ 10000์ด๊ณ celery๊ฐ 3๊ฐ์ ์คํ๋ ํ redis ํด๋ผ์ด์ธํธ๋ 10000์ผ๋ก ์ฆ๊ฐํฉ๋๋ค.
๋๋ redis ์๋ฒ์ ์ฐ๊ฒฐ์ด ๊ฐ๋ ์ฐผ๋ค๋ ๊ฒ์ ์์์ง ๋ง celery๋ ์ฝ๊ฐ์ ์ฐ๊ฒฐ ( netstat ์ ์ํด) ๋ง ์์ผ๋ฏ๋ก redis ์๋ฒ๋ฅผ ๋ค์ ์์ํ๋ฉด ์๋ํฉ๋๋ค.
ํ์ง๋ง ์ค์ ์ด๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ @๋ฌป๋ค
Celery 4.0 ์ถ์ ์ดํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๊น?
celery-3.1.23 ๋ฐ redis-2.6์์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
redis ๊ธฐ๋ณธ maxclients๋ 10000์ด๊ณ celery๊ฐ 3๊ฐ์ ์คํ๋ ํ redis ํด๋ผ์ด์ธํธ๋ 10000์ผ๋ก ์ฆ๊ฐํฉ๋๋ค.
๋๋ redis ์๋ฒ์ ์ฐ๊ฒฐ์ด ๊ฐ๋ ์ฐผ๋ค๋ ๊ฒ์ ์์์ง ๋ง celery๋ ์ฝ๊ฐ์ ์ฐ๊ฒฐ ( netstat ์ ์ํด) ๋ง ์์ผ๋ฏ๋ก redis ์๋ฒ๋ฅผ ๋ค์ ์์ํ๋ฉด ์๋ํฉ๋๋ค.
ํ์ง๋ง ์ค์ ์ด๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์ต๋๊น?