我用RabbitMqBundle
开发了一个Symfony2
的Web应用程序,它工作正常。
现在,我正在尝试为其他开发人员设置同一应用程序的更多实例。所以,现在我有 9 个实例(dev01 - dev09)。我已经为每个开发实例创建了数据库并设置了文件,它们工作正常,除了RabbitMq
.例如,dev01
创建的消息队列,但它是由 dev02 的使用者处理的(它应该由 dev01 处理)等等。
我想我需要为我们的多个应用程序配置连接/生产者/消费者,但我不知道从哪里开始。
[美国东部时间1月23日凌晨4点更新]为了尝试,我将queue_options中的名称更改为"api.import.dev01"。但是,即使我指定回调"wl.api.import.consumer",它也会出现以下错误:
[SymfonyComponentDependencyInjectionExceptionServiceNotFoundException] You have requested a non-existent service "old_sound_rabbit_mq.api.import.dev01_consumer".
谁能给我一些方向(例如示例或文档的链接)?
old_sound_rabbit_mq:
connections:
default:
host:"%mq.default.host%"
port:"%mq.default.port%"
user:"%mq.default.user%"
password:"%mq.default.pass%"
vhost:"%mq.default.vhost%"
lazy:"%mq.default.lazy%"
producers:
event:
connection: default
exchange_options: { name: 'event', type: topic }
auto_setup_fabric: false
consumers:
api.import:
connection: default
exchange_options:
name: 'event'
type: topic
queue_options:
name: 'api.import'
routing_keys:
- 'api.import.#'
callback: wl.api.import.consumer
qos_options: { prefetch_size: 0, prefetch_count: 100, global: false }
auto_setup_fabric: false
与使用数据库的单独实例相同,您可以创建单独的队列。
您可以尝试为每个应用程序配置一个 rabbitmq vhost 吗?
https://www.rabbitmq.com/vhosts.html