J'ai mis en place plusieurs consommateurs, qui récupèrent des messages à partir d'une seule file d'attente, je fais cela en utilisant quelque chose de similaire à this example, sauf que je fais basic.get sur un boucle infinie pour l'interrogation.rabbitmq plusieurs consommateurs sur une file d'attente - un seul reçoit le message
Une idée comment empêcher la course entre tous les consommateurs, en ce sens qu'un seul consommateur recevra le message et l'autre continuera à faire des sondages jusqu'à ce qu'un autre message arrive?
J'essaie de suivre une logique dans laquelle dès que je reçois le message je l'ack pour le message à supprimer, mais il semble que d'autres files d'attente, parviennent à obtenir le message avant que le premier a accusé et supprimé le message . Alors tout le monde a compris ce message.
Merci à l'avance
Comment publiez-vous le message dans la file d'attente? Comment le consommez-vous? Est-ce que je comprends bien que tous vos clients reçoivent le message, et pas seulement un, mais que vous voulez qu'un seul client le reçoive? Ou est-ce qu'un seul client reçoit le message et que vous voulez que tout le monde le reçoive? – MatsLindh
Publier avec channel.basic_publish -direct avec la clé de routage en utilisant basic_get, exactement comme dans l'exemple ci-dessus – JavaSa
Tous mes consommateurs reçoivent le message, et je veux que le premier qui l'a obtenu le traite, et qu'un seul consommateur obtienne chaque message de la file d'attente, celui qui est disponible – JavaSa