2014-01-12 1 views
2

원격 작업자를 셀로리 서버 (Django)에 처음으로 연결하고 있습니다.셀러리 : 새 사용자 이름으로 원격 작업자를 연결할 수 없습니다.

# rabbitmqctl add_user adcelery pwd 
# rabbitmqctl set_permissions adcelery "^adcelery-.*" ".*" ".*" 
# rabbitmqctl list_users 
Listing users ... 
guest [administrator] 
adcelery [] 
...done. 
# /etc/init.d/rabbitmq-server restart 
# /etc/init.d/celeryd restart 

내 원격 근로자의 URL :

BROKER_URL = "amqp://adcelery:[email protected]/" 

내가의 시작에 다음과 같은 오류가 점점 오전 내 서버에, 나는 권한을 사용자에 대한 새 사용자 이름과 암호를 생성 및 설정 내 원격 근무자. 위의 BROKER_URL에 "guest : guest"를 로그인으로 설정하면 완벽하게 정상적으로 연결됩니다. 나는 한두 단계 빠진 것 같은데, 어떤 제안이라도?

[2014-01-12 11:31:26,188: INFO/MainProcess] Connected to amqp://[email protected]:5672// 
[2014-01-12 11:31:26,391: ERROR/MainProcess] Unrecoverable error: AccessRefused(403, u"ACCESS_REFUSED - access to exchange 'celeryev' in vhost '/' refused f 
or user 'adcelery'", (40, 10), 'Exchange.declare') 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/__init__.py", line 206, in start 
    self.blueprint.start(self) 
    File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 123, in start 
    step.start(parent) 
    File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 373, in start 
    return self.obj.start() 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 270, in start 
    blueprint.start(self) 
    File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 123, in start 
    step.start(parent) 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 498, in start 
    enabled=self.send_events, groups=self.groups, 
    File "/usr/local/lib/python2.7/dist-packages/celery/events/__init__.py", line 150, in __init__ 
    self.enable() 
    File "/usr/local/lib/python2.7/dist-packages/celery/events/__init__.py", line 169, in enable 
    serializer=self.serializer) 
    File "/usr/local/lib/python2.7/dist-packages/kombu/messaging.py", line 82, in __init__ 
    self.revive(self._channel) 
    File "/usr/local/lib/python2.7/dist-packages/kombu/messaging.py", line 216, in revive 
    self.declare() 
    File "/usr/local/lib/python2.7/dist-packages/kombu/messaging.py", line 102, in declare 
    self.exchange.declare() 
    File "/usr/local/lib/python2.7/dist-packages/kombu/entity.py", line 166, in declare 
    nowait=nowait, passive=passive, 
    File "/usr/local/lib/python2.7/dist-packages/amqp/channel.py", line 612, in exchange_declare 
    (40, 11), # Channel.exchange_declare_ok 
    File "/usr/local/lib/python2.7/dist-packages/amqp/abstract_channel.py", line 75, in wait 
    return self.dispatch_method(method_sig, args, content) 
    File "/usr/local/lib/python2.7/dist-packages/amqp/abstract_channel.py", line 93, in dispatch_method 
    return amqp_method(self, args) 
    File "/usr/local/lib/python2.7/dist-packages/amqp/channel.py", line 232, in _close 
    reply_code, reply_text, (class_id, method_id), ChannelError, 
AccessRefused: Exchange.declare: (403) ACCESS_REFUSED - access to exchange 'celeryev' in vhost '/' refused for user 'adcelery' 

답변

5

그냥 대답이 in the docs 인 것을 발견했습니다. 사용자를 가상 호스트에 추가해야합니다.

rabbitmqctl set_permissions -p/adcelery ".*" ".*" ".*" 
관련 문제