我是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以这种方式运行。我也认为这是显而易见的(因为我们需要多线程同时处理多个回调函数)但我仍然有点困惑......
谢谢!
是的,basic_consume
的回调将在注册回调的线程上一次调用一条消息。请确保您使用的是Pika 0.12.0
并查看example code。