您的位置 首页 Python

python – 具有相同RabbitMQ代理后端进程的Multi Celery项目

如何使用两个不同的芹菜项目,消耗来自单个RabbitMQ安装的消息.

通常,如果我们为他们使用不同的rabbitmq,这些脚本工作正常.但在生产机器上,我需要为他们分享相同的RabbitMQ后端.

注意:由于一些限制,我不能合并现有的新项目,所以它将是两个不同的项目.

解决方法

RabbitMQ有能力创建名为virtual的虚拟消息代理

主机或vhosts.每个本质上都是一个带有自己的队列的迷你RabbitMQ服务器.这使您可以安全地为多个应用程序使用一个RabbitMQ服务器.

rabbitmqctl add_vhost命令创建一个vhost.

默认情况下Celery使用/ default vhost:

celery worker –broker=amqp://guest@localhost//

但是您可以使用任何自定义vhost:

celery worker –broker=amqp://guest@localhost/myvhost

例子:

rabbitmqctl add_vhost new_host
rabbitmqctl add_vhost /another_host

celery worker –broker=amqp://guest@localhost/new_host

celery worker –broker=amqp://guest@localhost//another_host

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章