我用Symfony2
开发了一个RabbitMqBundle
web应用程序,它工作正常。
现在我正在尝试为其他开发人员设置更多相同应用程序的实例。所以,现在我有9个实例(dev01 - dev09)。我已经为每个开发实例创建了数据库并设置了文件,除RabbitMq
外,它们工作正常。例如,由dev01
创建的消息队列,但它由dev02的使用者处理(它应该由dev01处理),依此类推。
我想我需要为多个应用程序配置连接/生产者/消费者,但我不知道从哪里开始。
[1月23日美国东部时间凌晨4点更新]试一试,我将queue_options中的名称更改为'api.import.dev01'。但是,即使我指定了回调“wl.api.import.consumer”,它也会出现以下错误:
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException] 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吗?