[REDIS] 최대 클라이언트에게 Heroku와 Redistogo 나노에 도달
REDIS최대 클라이언트에게 Heroku와 Redistogo 나노에 도달
나는 RedisToGo 나노 부가 기능으로 Heroku가에 celerybeat를 사용하고
하나의 웹 다이노 한 노동자 다이노이있다
celerybeat 작업자는 작업 분마다 수행하도록 설정되어 있습니다.
문제는 : 나는 새가 다시 시작 동력계, 커밋 배포, 나는이 오류가 때마다
2014-02-27T13:19:31.552352+00:00 app[worker.1]: Traceback (most recent call last):
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 389, in start
2014-02-27T13:19:31.552352+00:00 app[worker.1]: self.reset_connection()
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 727, in reset_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: self.connection = self._open_connection()
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/celery/worker/consumer.py", line 792, in _open_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: callback=self.maybe_shutdown)
2014-02-27T13:18:23.864287+00:00 app[worker.1]: self.on_connect()
2014-02-27T13:18:23.864287+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/redis/connection.py", line 263, in on_connect
2014-02-27T13:18:23.864287+00:00 app[worker.1]: if nativestr(self.read_response()) != 'OK':
2014-02-27T13:18:23.864287+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/redis/connection.py", line 314, in read_response
2014-02-27T13:18:23.864287+00:00 app[worker.1]: raise response
2014-02-27T13:18:23.864287+00:00 app[worker.1]: ResponseError: max number of clients reached
2014-02-27T13:19:31.552352+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/connection.py", line 272, in ensure_connection
2014-02-27T13:19:31.552352+00:00 app[worker.1]: interval_start, interval_step, interval_max, callback)
2014-02-27T13:19:31.552591+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/utils/__init__.py", line 218, in retry_over_time
2014-02-27T13:19:31.552591+00:00 app[worker.1]: return fun(*args, **kwargs)
2014-02-27T13:19:31.552591+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/connection.py", line 162, in connect
2014-02-27T13:19:31.552591+00:00 app[worker.1]: return self.connection
2014-02-27T13:19:31.552591+00:00 app[worker.1]: File "/app/.heroku/python/lib/python2.7/site-packages/kombu/connection.py", line 617, in connection
2014-02-27T13:18:23.870811+00:00 app[worker.1]: [2014-02-27 13:18:23,870: ERROR/MainProcess] consumer: Connection to broker lost. Trying to re-establish the connection...
그 로그는 끝없이 계속. 난 둘 다 동력계를 중지하고 다시 시작할 때까지.
그것은 새가 배포 커밋 거의 모든 시간을 발생하기 때문에이 문제가되고있다.
어떤 아이디어 왜 일어나고,이 방법이 문제를 해결하기 위해?
해결법
-
==============================
1.나노 redistogo 계획은 10 개의 동시 레디 스 연결 모자.
나노 redistogo 계획은 10 개의 동시 레디 스 연결 모자.
사용 레디 스의 커넥트의 수는 프런트 엔드와 셀러리 노동자 설정에 따라 달라집니다. 프로덕션 스택> = 5 레디 스 연결을 사용하는 것 같은데.
당신이 새로운 코드를 배포 할 때, Heroku가 완전히 새로운 스택을 회전합니다. 당신이 사용하고있는이 수단> = 배포시 10 개 레디 스 연결.
이 문제를 해결하는 방법에는 두 가지가 있습니다 :
이는 자원 고갈의 간단한 문제입니다. 난 그냥 큰 RedisToGo 계획에 대해 지불 할 것입니다.
from https://stackoverflow.com/questions/22070115/maximum-clients-reached-on-heroku-and-redistogo-nano by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 어떻게 레디 스에서 HSCAN 명령을 사용 하는가? (0) | 2020.01.22 |
---|---|
[REDIS] StackExchange.Redis을 사용하는 올바른 방법 (0) | 2020.01.22 |
[REDIS] phpredis 확장 'redis.so'로드 할 수없는 작업을 수행 (0) | 2020.01.22 |
[REDIS] MIGRATE를 사용하여 레디 스 데이터베이스에있는 모든 키를 복사 (0) | 2020.01.22 |
[REDIS] 레디 스는 - 수동으로 마스터 슬레이브 추진 (0) | 2020.01.22 |