30 votes

Pourquoi CeleryCAM ne fonctionne-t-il pas avec Amazon SQS ?

J'utilise Celery 2.4.6 et django-celery 2.4.2.

Lorsque je configure Celery pour utiliser Amazon SQS conformément à la résolution de cette question : Celery avec Amazon SQS

Je ne vois rien dans la table celerycam dans l'administration de Django. Si je repasse à RabbitMQ, les tâches réapparaissent.

J'ai beaucoup de files d'attente (plus de 40 aujourd'hui) dans SQS, nommées de la manière suivante : "celeryev-92e068c4-9390-4c97-bc1d-13fd6e309e19", qui semblent être liées (certaines des plus anciennes ont même un événement), mais rien n'apparaît dans la base de données et je ne vois aucune erreur dans le journal de celerycam.

Toute suggestion sur la nature du problème ou sur la manière de le déboguer serait très appréciée.

3voto

astevanovic Points 2983

SQS est une mise en œuvre limitée d'un bus AMQP. Si j'ai bien compris, il ne prend pas en charge la diffusion PUB/SUB comme le fait par exemple rabbit-MQ, ce qui est nécessaire pour que les événements fonctionnent correctement. SNS a été mis en place pour supporter la diffusion, mais c'est un système distinct.

Certaines bibliothèques/paquets utilisent SimpleDB comme modèle de stockage de messagerie pour émuler le comportement AMQP de SQS, mais apparemment celery n'a pas encore mis en place un hack complet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X