Сельдерей настраивает отдельное соединение для производителя и потребителя

У нас есть установка приложения на heroku, которая использует сельдерей для запуска фоновых заданий. Приложение сельдерея использует RabbitMQ в качестве брокера. Мы использовали дополнение RabbitMQ Bigwig от heroku в качестве брокера сообщений AMQP. Это дополнение определяет два отдельных URL-адреса, оптимизированных для производителя и других, оптимизированных для потребителей. Кроме того, согласно документации RabbitMQ рекомендуется использовать отдельные подключения для производителя и потребителя.

Документация по сельдеву не дает возможности указывать соединения отдельно для производителя и потребителя. Есть ли способ указать два разных URL-адреса брокера в сельдерее?

One Solution collect form web for “Сельдерей настраивает отдельное соединение для производителя и потребителя”

К сожалению, нет чистого способа сделать это. Вы можете напрямую task.apply_async пользовательское соединение с брокером на task.apply_async , но это означает отказ от функции пула соединений. Это может сработать для вас.

 from kombu import BrokerConnection conn = BrokerConnection(hostname="producerbroker") mytask.apply_async(args, kwargs, connection=conn) 

Самое простое решение, вероятно, состоит в том, чтобы иметь разные конфигурационные файлы для производителя и рабочего.

Python - лучший язык программирования в мире.