添加事件监听器到Pika IOLoop或多线程?

时间:2015-04-10 14:25:23

标签: python multithreading asynchronous rabbitmq pika

我正在编写一个实用程序,它应该充当RabbitMQ队列的使用者。它检索消息,使用它们执行某些操作,并将它们提交到另一个系统,如f.e. RiemannStatsd

目前与RabbitMQ的通信使用异步SelectConnection适配器,与输出(Riemann / Statsd)的通信使用python-riemann / { {1}}客户端(阻塞)。

我相信通过修改pystatsdpython-riemann客户端以使用异步适配器(我必须编写那个),我可以提高此实用程序的整体性能,但我的问题是我不确定如何将其与pika的pystatsd结合起来。

根据我的理解,我想我可能必须找到一种在pika IOLoop上添加事件监听器的方法,这应该在IOLoopRiemann响应时触发,因为根据我的说法目前的理解我没有什么好方法可以有两个事件循环,除非我多线程化实用程序并且有一个Statsd用于连接到线程IOLoop中的RabbitMQ而另一个负责线程#1中的输出(Riemann / Statsd)。

所以我的问题是:做什么是最好的,多线程这个实用程序,每个外部系统都有一个#2我正在与之交互,或者试图找到一种方法来使用pika {{1}为了一个可能不适合它的目的。

0 个答案:

没有答案