Le céleri: Erreur lors de la connexion à Serveur RabbitMQ
Je commence à utiliser le céleri en suivant ce "Premiers pas avec le Céleri".
J'ai utilisé exactement la tasks.py il est indiqué sur ce lien.
Cependant lorsque j'ai exécuté la tâche à l'aide,
celery -A tasks worker --loglevel=info
J'obtiens cette erreur:
[2014-09-16 20:52:57,427: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: Socket closed. Trying again in 2.00 seconds...
Le serveur rabbitmq est pour assurer l'exécution et ci-dessous l'extrait du journal concernant l'erreur:
=ERROR REPORT==== 16-Sep-2014::20:53:09 ===
exception on TCP connection <0.235.0> from 127.0.0.1:58162
{channel0_error,starting,
{amqp_error,access_refused,
"AMQPLAIN login refused: user 'guest' - invalid credentials",
'connection.start_ok'}}
=INFO REPORT==== 16-Sep-2014::20:53:09 ===
closing TCP connection <0.235.0> from 127.0.0.1:58162
=INFO REPORT==== 16-Sep-2014::20:53:15 ===
accepted TCP connection on [::]:5672 from 127.0.0.1:58163
=INFO REPORT==== 16-Sep-2014::20:53:15 ===
starting TCP connection <0.239.0> from 127.0.0.1:58163
=ERROR REPORT==== 16-Sep-2014::20:53:18 ===
exception on TCP connection <0.239.0> from 127.0.0.1:58163
{channel0_error,starting,
{amqp_error,access_refused,
"AMQPLAIN login refused: user 'guest' - invalid credentials",
'connection.start_ok'}}
=INFO REPORT==== 16-Sep-2014::20:53:18 ===
closing TCP connection <0.239.0> from 127.0.0.1:58163
Avec cela, je n'ai la suite pour s'assurer que la 'guest' utilisateur dispose d'autorisations /vhost:
sudo rabbitmqctl set_permissions -p / guest ".*" ".*" ".*"
Et puis j'ai rechargé/redémarré rabbitmq service assurez-vous que les modifications prennent effet
puis a couru de nouveau la tâche. Cependant, l'erreur est toujours la même.
J'ai même essayé de créer un autre serveur virtuel (jm-vhost) et l'utilisateur (jm-user1) et définir les autorisations de nouveau pour permettre à tous:
sudo rabbitmqctl add_vhost jm-vhost
sudo rabbitmqctl add_user jm-user1 "" --> "" to make it passwordless (is this correct?)
sudo rabbitmqctl set_permissions -p /jm-vhost jm-user1 ".*" ".*" ".*"
Et puis modifié tasks.py pour cela:
app = Celery('tasks', broker='amqp://jm-user1@localhost//jm-vhost')
Mais quand j'ai commencé les tâches, toujours, je reçois le même message d'erreur.
Comment dois-je résoudre ce problème? Merci à l'avance!
OriginalL'auteur jaysonpryde | 2014-09-16
Vous devez vous connecter pour publier un commentaire.
J'ai été en mesure de résoudre ce (pour ceux qui ont et auront le même problème) en procédant comme suit.
J'ai recréé l'utilisateur dont j'ai parlé sur ma question, mais cette fois avec un mot de passe. Comme ceci:
Puis j'ai mis les permissions de ce nouveau:
Redémarré rabbitmq serveur pour vous assurer que les modifications prennent effet et apporté des modifications à l'tasks.py:
Quand j'ai couru,
il a travaillé :).
J'espère que cela sera utile à d'autres.
Merci les gars!
Une autre chose que j'ai trouvé est que si vous voulez le faire par programmation, utilisez cette syntaxe, juste comme ça: sous-processus.appel(['rabbitmqctl', 'set_permissions', 'p', 'vhost_name', 'joe_user', '.*', '.*', '.*'])
Il m'a vraiment aidé. Merci!
Mon problème était que mon mot de passe a un support et un signe de dollar. J'ai enlevé ces personnages et tout a fonctionné.
OriginalL'auteur jaysonpryde
La
broker_url
a le format:OriginalL'auteur ForRealHomie