Je continue à obtenir: ERROR/MainProcess] consumer: Cannot connect to amqp://ec2celeryuser
lorsque je cours celery -A tasks worker
sur le terminal. Fondamentalement, ce que j'essaie de faire est de faire fonctionner celery/rabbitmq correctement sur (2) instances ec2. Pour passer une tâche stupide dans tasks.py
pour le traitement de rabbitmq.Message de test de la file d'attente distribuée Celery-RabbitMQ
- Instance 1 - Maisons rabbitmq
Cela fonctionne actuellement RabbitMQ bien. Si je lance sudo rabbitmqctl status
il sort:
Status of node '[email protected]' ...
[{pid,786},
2. Instance 2 - Maisons Céleri
Je suis en train de courir sur le céleri instance 2
contre 1 instance en utilisant les éléments suivants dans le terminal:
céleri -A tâches ouvrières
Je dispose d'un fichier celeryconfig.py
:
BROKER_URL = 'amqp://ec2celeryuser:[email protected]:5672/celeryserver1/'
#CELERY SETTINGS
CELERY_IMPORTS = ("tasks",)
CELERY_RESULT_BACKEND = "amqp"
J'ai un fichier client.py
:
from tasks import add
result = add.delay(4, 4) # call task
result_sum = result.get(timeout=5) # wait to get result for a maximum of 5 seconds
J'ai un fichier tasks.py
:
from celery import Celery
app = Celery('tasks', broker='amqp://ec2celeryuser:[email protected]:5672/celeryserver1/')
@app.task
def add(x, y):
return x + y
J'ai correctement configuré un vhost
, un utilisateur ec2celeryuser
, et a donné ces autorisations utilisateur de:
sudo rabbitmqctl set_permissions -p /celeryserver1 ec2celeryuser ".*" ".*" ".*"
si je le fais: sudo rabbitmqctl list_users
sur RabbitMQ (instance 1), il montre:J'ai essayé les deux noms d'utilisateur avec leurs mots de passe, mais pas de changement.
J'ai suivi le Celery Guide, et un tutorial sans beaucoup de chance.
Qu'est-ce que je fais mal ici? Il y a clairement un problème de connexion, mais qu'est-ce que je fais de mal?
Merci!
une conjecture sauvage, mais avez-vous un personnage étrange dans votre mot de passe? – xbb
Non, son alphanumérique, pas de caractère spécial. – CodeTalk