在网络应用程序中使用Pika BlockingConnection是否可以?

时间:2014-07-30 22:29:59

标签: python django rabbitmq pika blockingcollection

我对BlockingConnectionAsyncoreConnection感到有点困惑。我想从Django应用程序向RabbitMQ队列发送一些消息。可以使用全局BlockingConnection对象吗?

谢谢。

1 个答案:

答案 0 :(得分:7)

每个帖子需要一个BlockingConnection个对象,如pika FAQ中所述:

  

Pika在代码中没有任何线程概念。如果你想   使用带螺纹的Pika,确保每个人都有Pika连接   线程,在该线程中创建的。分享一个鼠兔是不安全的   跨线程的连接。

所以,答案取决于你如何部署Django。如果您在多线程部署中使用Django,则无法使用全局BlockingConnection;你需要创建一个每个线程。如果您不使用多线程,则可以使用全局BlockingConnection对象。