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

前端之家收集整理的这篇文章主要介绍了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@H_403_28@ 
 

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

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

猜你在找的Python相关文章