Можно ли использовать Pika BlockingConnection в веб-приложении?

Я немного смущен BlockingConnection а также AsyncoreConnection, Я хочу отправить несколько сообщений в очередь RabbitMQ из приложения Django. Это нормально делать это с помощью глобального BlockingConnection объект?

Благодарю вас.

1 ответ

Вам нужно иметь один BlockingConnection Объект на поток, как указано в FAQ Пика:

Пика не имеет никакого понятия о потоке в коде. Если вы хотите использовать Pika с потоками, убедитесь, что у вас есть соединение Pika для каждого потока, созданного в этом потоке. Не безопасно разделять одно соединение Pika между потоками.

Таким образом, ответ зависит от того, как вы развертываете Django. Если вы используете Django в многопоточном развертывании, вы не можете использовать глобальный BlockingConnection; вам нужно создать один поток. Если вы не используете многопоточность, вы можете использовать глобальный BlockingConnection объект.

Другие вопросы по тегам