在RabbitMQ中是回调函数,pika basic_consume是以阻塞方式(逐个)执行的吗?

问题描述 投票:0回答:1

我是RabbitMQ的新手所以我正在检查教程(http://www.rabbitmq.com/tutorials/tutorial-one-python.html)在本教程中,我们使用pika连接通道的basic_consume函数来消费消息。

作为basic_consume(https://pika.readthedocs.io/en/0.10.0/modules/channel.html)状态的文档,它显然消耗了消息,但我的问题是,回调函数以何种方式执行?

在教程的下一部分(http://www.rabbitmq.com/tutorials/tutorial-two-python.html)中,我们可以检查单个线程不能同时调用两个回调函数(因为我们运行示例代码,每个线程一个接一个地出现休眠消息。)但是在任何文档中都不能保证这一点(正如我发现的那样) 。)

我想要的就是这样(对于单线程,只调用一个回调函数,逐个处理消息。)但我想确保basic_consume以这种方式运行。我也认为这是显而易见的(因为我们需要多线程同时处理多个回调函数)但我仍然有点困惑......

谢谢!

python rabbitmq message-queue
1个回答
0
投票

是的,basic_consume的回调将在注册回调的线程上一次调用一条消息。请确保您使用的是Pika 0.12.0并查看example code

© www.soinside.com 2019 - 2024. All rights reserved.