使用correlation_id从队列中有选择地检索消息

时间:2019-01-09 11:54:49

标签: python rabbitmq

在Rabbitmq中,我绑定了一个队列“聚合器”以与路由键“ agg。*”交换“ Exhange1”。使用动态生成器correlation_id将消息发布到此队列。假设带有correlation_id='1234'的消息已发布到此交换所,并且消费者只想使用此特定消息,而不消耗其他消息并发回直到获得correlation_id=1234。有没有办法实现这一目标?

这个问题不是关于基于路由密钥的邮件分离

基本上,我想应用correlation_id作为过滤器,并使用特定的消息而不消耗所有消息,因为Rabbitmq文档说出了它的反模式。

1 个答案:

答案 0 :(得分:0)

RabbitMQ以FIFO顺序传递消息。无法使特定消息出队。

主题交流可以解决您的用例。不要忘记,对于消费者而言,使用适用于该用例的任何绑定参数来绑定到具有自己的独占队列的交换是完全可以的。


注意: RabbitMQ团队监视the rabbitmq-users mailing list,并且有时仅在StackOverflow上回答问题。