簡體   English   中英

Celery為生產者和消費者配置單獨的連接

[英]Celery configure separate connection for producer and consumer

我們在heroku上有一個應用程序設置,它使用芹菜來運行后台作業。 芹菜應用程序使用RabbitMQ作為代理。 我們使用heroku的RabbitMQ Bigwig插件作為AMQP消息代理。 此附加組件指定兩個單獨的URL,一個針對生產者優化,另一個針對消費者進行了優化。 另外,根據RabbitMQ文檔,建議為生產者和消費者使用單獨的連接。

Celery文檔未提供單獨指定生產者和使用者的連接的方法。 有沒有辦法在芹菜中指定兩個不同的經紀人網址?

不幸的是,沒有一種干凈的方法可以做到這一點。 您可以在task.apply_async顯式提供自定義代理連接,但這意味着放棄連接池功能。 它可能適合你。

from kombu import BrokerConnection
conn = BrokerConnection(hostname="producerbroker")

mytask.apply_async(args, kwargs, connection=conn)

最直接的解決方案可能是為生產者和工人提供不同的配置文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM