我想在Python中创建RabbitMQ接收器/消费者,并且不确定如何检查消息。我试图在自己的循环中执行此操作,而不是使用pika中的回调。

如果我理解一切,则可以在Java客户端中使用getBasic()来检查是否有任何可用消息而不被阻塞。我不介意在收到消息时进行阻止,但是我不希望在收到消息之前进行阻止。

我找不到任何清晰的示例,也没有想出pika中的相应调用。

最佳答案

如果要同步执行操作,则需要查看pika BlockingConnection


  BlockingConnection在Pika的异步之上创建一个层
  核心提供方法将一直阻塞到预期响应
  已经回来了。由于Basic.Deliver和
  基本。从RabbitMQ返回调用到您的应用程序,您仍然
  需要实现连续传递样式的异步方法
  如果您想使用basic_consume从RabbitMQ接收消息,或者
  如果您想在使用时收到交货失败的通知
  basic_publish。


更多信息和示例在这里

https://pika.readthedocs.org/en/0.9.12/connecting.html#blockingconnection

关于python - 使用Pika客户端轮询RabbitMQ消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15138976/

10-16 03:53