Можно ли использовать Pika BlockingConnection в веб-приложении?
Я немного смущен BlockingConnection
а также AsyncoreConnection
, Я хочу отправить несколько сообщений в очередь RabbitMQ из приложения Django. Это нормально делать это с помощью глобального BlockingConnection
объект?
Благодарю вас.
1 ответ
Вам нужно иметь один BlockingConnection
Объект на поток, как указано в FAQ Пика:
Пика не имеет никакого понятия о потоке в коде. Если вы хотите использовать Pika с потоками, убедитесь, что у вас есть соединение Pika для каждого потока, созданного в этом потоке. Не безопасно разделять одно соединение Pika между потоками.
Таким образом, ответ зависит от того, как вы развертываете Django. Если вы используете Django в многопоточном развертывании, вы не можете использовать глобальный BlockingConnection
; вам нужно создать один поток. Если вы не используете многопоточность, вы можете использовать глобальный BlockingConnection
объект.