RabbitMQ和Celery的多个服务器环境

时间:2013-05-03 05:17:25

标签: django rabbitmq celery

我有一个基于Django的服务与Celery,使用RabbitMQ作为经纪人。我想在同一台机器上安装多个环境。

为每种环境配置Celery的最佳方法是什么?为每个环境提供自己的虚拟主机,因此Test环境将使用ampq://celery:celery@localhost:5672/test,Dev环境将使用ampq://celery:celery@localhost:5672/dev

或者使用相同的RabbitMQ虚拟主机并将每个环境定向到不同的队列 - 以便开发环境的默认队列为default.dev且测试环境的默认队列为default.test

或者设置两个RabbitMQ实例?

1 个答案:

答案 0 :(得分:2)

设置2个RMQ vhosts就是这样做的方法。

只有1个vhost并使用2个队列,您可以将任务发送到您决定的环境,但控制命令(关闭,检查等)将发送给所有工作人员。如果使用不同的vhost,控制命令将按预期工作。