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已被忽略..嗯...