1
我有一個用例,我希望能夠有很多客戶端連接到RabbitMQ,但他們無法看到彼此的消息。我相信使用虛擬主機是保持工作人員隱私的最佳方式?使用芹菜,發送async_apply到特定的虛擬主機?
我想我能夠在一個virtual_host
參數傳遞給apply_async
但是這行不通,我相信我有做像這樣自定義連接:
from kombu import Connection
my_connection = Connection(virtual_host='new_virtual_host')
task.apply_async(connection=my_connection)
不過,我敢打賭,有一個使用我已經配置的設置,並在切換後端的情況下通過適當的通道來構建Celery內部。什麼是內部「獲取連接」功能?
這是使用芹菜3.1
編輯:
當前的嘗試,沒有工作,因爲它似乎只是返回使用指定的虛擬主機經常連接不...
from celery.app import app_or_default
app = app_or_default()
with app.broker_connection(virtual_host='other') as new_connection:
task.apply_async((data,), connection=new_connection)
如果我檢查new_connection
virtual_host
kwarg已被忽略..嗯...