我有一个场景,一个python脚本,它将发布150 k消息,每个消息的大小最大为10 at。然后,我将队列限制设置为最多5000条消息。然后,发布者将将消息发布到队列中,直到达到限制5000消息为止。然后,消费者将尝试使用该消息。
我想问的是,如果队列已满,发布者可以等待发布消息吗?而不丢弃信息。将再次检查队列是否可用,然后发布者将发布数据。
发布于 2018-06-05 13:40:41
RabbitMQ团队监视 mailing list,有时只回答StackOverflow上的问题。
如果使用的是最近的RabbitMQ版本(如3.7.5),则可以将 behavior设置为reject-publish。然后,在代码中,使用channel_instance.confirm_delivery()方法启用publisher确认。最后,当达到队列限制时,一个basic.nack消息将被发送回您的代码,并将引发一个您可以捕获的NackError异常。
https://stackoverflow.com/questions/50695362
复制相似问题