2013-06-12 4 views
6

셀러리와 redis를 처음 사용하기 때문에 문서에서 추측하지 않고 여기에서 다른 사람의 질문을 검색하는 것이 분명하지 않을 수 있습니다. 내 연결에 시간 초과 유지하는 노동자 실행하려고 할 때마다 : 내 레디 스 서버를 시작할 때셀러리가 Redis Broker (Django)에 연결하지 않음

ResponseError: unknown command 'WATCH' 
[2013-06-12 18:25:23,059: ERROR/MainProcess] consumer: Connection to broker lost. Trying to re-establish the connection... 

것은 여기

South==0.7.6 
amqp==1.0.11 
anyjson==0.3.3 
billiard==2.7.3.28 
boto==2.9.4 
celery==3.0.19 
celery-with-redis==3.0 
dj-database-url==0.2.1 
django-admin-bootstrapped==0.3.2 
django-celery==3.0.17 
django-jsonfield==0.9.4 
django-stripe-payments==2.0b20 
mimeparse==0.1.3 
oauthlib==0.4.0 
paramiko==1.10.1 
psycopg2==2.5 
pycrypto==2.6 
python-dateutil==2.1 
python-openid==2.2.5 
pytz==2013b 
redis==2.7.5 
requests==1.2.0 
requests-oauthlib==0.3.1 
six==1.3.0 
stripe==1.7.9 
wsgiref==0.1.2 

settings.py 내 requirements.txt

import djcelery 
djcelery.setup_loader() 

INSTALLED_APPS = (
... 
'djcelery', 
... 
) 

CACHES = { 
    "default": { 
     "BACKEND": "redis_cache.cache.RedisCache", 
     "LOCATION": "127.0.0.1:6379:1", 
     "OPTIONS": { 
     "CLIENT_CLASS": "redis_cache.client.DefaultClient", 
     } 
    } 
} 

BROKER_URL = 'redis://localhost:6379/0' 

의과 실행

./manage.py celeryd -B 
Traceback (most recent call last): 
File "/venv/lib/python2.7/site-packages/celery/worker/consumer.py", line 395, in start 
self.consume_messages() 
File "/venv/lib/python2.7/site-packages/celery/worker/consumer.py", line 407, in consume_messages 
with self.hub as hub: 
File "/venv/lib/python2.7/site-packages/celery/worker/hub.py", line 198, in __enter__ 
self.init() 
File "/venv/lib/python2.7/site-packages/celery/worker/hub.py", line 146, in init 
callback(self) 
File "/venv/lib/python2.7/site-packages/celery/worker/consumer.py", line 401, in on_poll_init 
self.connection.transport.on_poll_init(hub.poller) 
File "/venv/lib/python2.7/site-packages/kombu/transport/redis.py", line 749, in on_poll_init 
self.cycle.on_poll_init(poller) 
File "/venv/lib/python2.7/site-packages/kombu/transport/redis.py", line 266, in on_poll_init 
num=channel.unacked_restore_limit, 
File "/venv/lib/python2.7/site-packages/kombu/transport/redis.py", line 159, in restore_visible 
self.restore_by_tag(tag, client) 
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 35, in __exit__ 
self.gen.throw(type, value, traceback) 
File "/venv/lib/python2.7/site-packages/kombu/transport/redis.py", line 94, in Mutex 
pipe.watch(name) 
File "/venv/lib/python2.7/site-packages/redis/client.py", line 1941, in watch 
return self.execute_command('WATCH', *names) 
File "/venv/lib/python2.7/site-packages/redis/client.py", line 1760, in execute_command 
return self.immediate_execute_command(*args, **kwargs) 
File "/venv/lib/python2.7/site-packages/redis/client.py", line 1779, in immediate_execute_command 
return self.parse_response(conn, command_name, **options) 
File "/venv/lib/python2.7/site-packages/redis/client.py", line 1883, in parse_response 
self, connection, command_name, **options) 
File "/venv/lib/python2.7/site-packages/redis/client.py", line 388, in parse_response 
response = connection.read_response() 
File "/venv/lib/python2.7/site-packages/redis/connection.py", line 309, in read_response 
raise response 
ResponseError: unknown command 'WATCH' 
[2013-06-12 18:25:23,059: ERROR/MainProcess] consumer: Connection to broker lost. Trying to re-establish the connection... 

레디 스 :단지와 시간 초과 계속 연결 내

[1197] 12 Jun 18:50:09 * Server started, Redis version 1.3.14 
[1197] 12 Jun 18:50:09 * DB loaded from disk: 0 seconds 
[1197] 12 Jun 18:50:09 * The server is now ready to accept connections on port 6379 
[1197] 12 Jun 18:50:09 - Accepted 127.0.0.1:53061 
[1197] 12 Jun 18:50:09 - DB 0: 2 keys (0 volatile) in 4 slots HT. 
[1197] 12 Jun 18:50:09 - 1 clients connected (0 slaves), 1076976 bytes in use 
[1197] 12 Jun 18:50:09 - Accepted 127.0.0.1:53062 
[1197] 12 Jun 18:50:09 - Accepted 127.0.0.1:53063 
[1197] 12 Jun 18:50:09 - Client closed connection 
[1197] 12 Jun 18:50:09 - Accepted 127.0.0.1:53064 
[1197] 12 Jun 18:50:09 - Client closed connection 
[1197] 12 Jun 18:50:09 - Accepted 127.0.0.1:53065 
[1197] 12 Jun 18:50:09 - Client closed connection 
[1197] 12 Jun 18:50:09 - Accepted 127.0.0.1:53066 
[1197] 12 Jun 18:50:09 - Client closed connection 
etc etc. 

내가보고해야한다 또는 가능한 어떤 범인이 어디에 있는지에 대한 모든 지침? 감사합니다

답변

5

Redis 서버가 셀러리와 함께 사용하기에는 너무 오래되었습니다 (1.3.14). 이 오류에서 Celery는 Redis 2.2에 도입 된 WATCH command을 사용하려고합니다.

+0

좋은 물건 마크 –

관련 문제