Je tente de suivre le celery tutorial, mais je rencontre un problème lorsque je cours python manage.py celeryd
: mon serveur RabbitMQ (installé sur un machine virtuelle sur ma boîte de dev) ne permettra pas à mon utilisateur de se connecter.RabbitMQ donne une erreur «accès refusé, connexion refusée pour l'utilisateur» lorsque vous essayez de suivre le tutoriel de céleri
je reçois ce qui suit sur ma console de gestion Django:
[ERROR/MainProcess] AMQP Listener: Connection Error: Socket closed. Trying again in 2 seconds...
et cela se voit dans mon dossier rabbit.log
sur mon serveur RabbitMQ:
exception on TCP connection <0.5814.0> from $DJANGO_BOX_IP
{channel0_error,starting,{amqp,access_refused,"login refused for user '$CONFIGURED_USER'",'connection.start_ok'}}
J'ai revérifié mon utilisateur, permissions, et infos vhost, et ils semblent tous correspondre. Toute aide dépannage est grandement appréciée.
MISE À JOUR: les conseils de @asksol je reçois le retraçage suivant:
$MY_VIRTUAL_ENV/lib/python2.6/site-packages/carrot/connection.pyc in connection(self)
118 return
119 if not self._connection:
--> 120 self._connection = self._establish_connection()
121 self._closed = False
122 return self._connection
$MY_VIRTUAL_ENV/lib/python2.6/site-packages/carrot/connection.pyc in _establish_connection(self)
131
132 def _establish_connection(self):
--> 133 return self.create_backend().establish_connection()
134
135 def get_backend_cls(self):
$MY_VIRTUAL_ENV/lib/python2.6/site-packages/carrot/backends/pyamqplib.pyc in establish_connection(self)
110 insist=conninfo.insist,
111 ssl=conninfo.ssl,
--> 112 connect_timeout=conninfo.connect_timeout)
113
114 def close_connection(self, connection):
$MY_VIRTUAL_ENV/lib/python2.6/site-packages/amqplib/client_0_8/connection.pyc in __init__(self, host, userid, password, login_method, login_response, virtual_host, locale, client_properties, ssl, insist, connect_timeout, **kwargs)
138 self.wait(allowed_methods=[
139 (10, 20), # secure
--> 140 (10, 30), # tune
141 ])
142
$MY_VIRTUAL_ENV/lib/python2.6/site-packages/amqplib/client_0_8/abstract_channel.pyc in wait(self, allowed_methods)
88 method_sig, args, content = self.connection._wait_method(
---> 89 self.channel_id, allowed_methods)
90
91 if content \
$MY_VIRTUAL_ENV/lib/python2.6/site-packages/amqplib/client_0_8/connection.pyc in _wait_method(self, channel_id, allowed_methods)
196 while True:
197 channel, method_sig, args, content = \
--> 198 self.method_reader.read_method()
199
200 if (channel == channel_id) \
$MY_VIRTUAL_ENV/lib/python2.6/site-packages/amqplib/client_0_8/method_framing.pyc in read_method(self)
213 m = self.queue.get()
214 if isinstance(m, Exception):
--> 215 raise m
216 return m
217
IOError: Socket closed
Je cours Django. Faire ce qui précède à partir du shell Django me donne une traceback assez longue et donne l'erreur suivante: 'IOError: Socket closed'. Je vais mettre à jour la question avec le retraçage. –
Ok, Il doit y avoir quelque chose dans la configuration qui est faux, hôte, vhost, permissions, nom d'utilisateur, mot de passe et ainsi de suite. Voir les mises à jour de ma réponse pour plus de dépannage. – asksol
Merci. Les informations de connexion étaient erronées: j'ai obtenu ma valeur virtualhost dans le paramétrage du mot de passe. –