RabbitMQ与Acknowledge的循环

RabbitMQ与Acknowledge的循环,rabbitmq,round-robin,Rabbitmq,Round Robin,假设我有一个队列,里面有一堆消息。我有两个消费者连接到该队列,都设置了预取=1。这些消费者所做的工作需要一些时间,我不想在工作完成之前确认消息(在消费者崩溃或其他情况下,我希望消息在异常情况下自动重新进入队列) 但我也希望这些消费者并行工作,而这似乎没有发生。换句话说,只要队列中有2+条消息,我希望两个消费者都很忙 相反,似乎发生的情况是消费者1收到消息,但消费者2将等待消费者1确认消息。然后消费者2收到消息,消费者1等待,以此类推 有没有我错过的选择?还是应该这样做,我只是在我的代码中的某个地

假设我有一个队列,里面有一堆消息。我有两个消费者连接到该队列,都设置了预取=1。这些消费者所做的工作需要一些时间,我不想在工作完成之前确认消息(在消费者崩溃或其他情况下,我希望消息在异常情况下自动重新进入队列)

但我也希望这些消费者并行工作,而这似乎没有发生。换句话说,只要队列中有2+条消息,我希望两个消费者都很忙

相反,似乎发生的情况是消费者1收到消息,但消费者2将等待消费者1确认消息。然后消费者2收到消息,消费者1等待,以此类推


有没有我错过的选择?还是应该这样做,我只是在我的代码中的某个地方有一个bug?或者这是不可能的?

当其他使用者仍在处理以前的消息时,您应该能够从队列中提取消息。RabbitMQ教程特别指出并行性是循环调度()的一个优势。您的两个使用者是否在同一进程中作为线程运行?我想知道您是否刚刚在实现中犯了一个错误。

您应该能够在其他使用者仍在处理以前的消息时将消息从队列中拉出。RabbitMQ教程特别指出并行性是循环调度()的一个优势。您的两个使用者是否在同一进程中作为线程运行?我想知道您是不是在实施过程中犯了一个错误。

好的,我以为我自己应该这样做。这对我来说一定是个问题。我会调查的。谢谢好吧,我以为我自己应该这样做。这对我来说一定是个问题。我会调查的。谢谢