Symfony 能否定义一个仅使用多队列传输的特定队列的使用者命令?

Symfony 能否定义一个仅使用多队列传输的特定队列的使用者命令?,symfony,rabbitmq,amqp,symfony-messenger,Symfony,Rabbitmq,Amqp,Symfony Messenger,在使用RabbitMQ和Symfony Messenger实现AMQP服务时,我的印象是错过了一些东西 从RabbitMQ的角度来看,消费者(也称为工作者)从队列中消费 从Symfony Messenger文档中,一个“传输”链接到一个消费者。这是通过命令bin/console-messenger:consume-transport设计的。因此,对于每个“处理程序”,您必须在messenger.yaml中配置一个专用的传输,以便能够分配特定数量的进程(例如,在配置numprocs变量时通过主管)

在使用RabbitMQ和Symfony Messenger实现AMQP服务时,我的印象是错过了一些东西

从RabbitMQ的角度来看,消费者(也称为工作者)从队列中消费

从Symfony Messenger文档中,一个“传输”链接到一个消费者。这是通过命令
bin/console-messenger:consume-transport
设计的。因此,对于每个“处理程序”,您必须在
messenger.yaml
中配置一个专用的传输,以便能够分配特定数量的进程(例如,在配置
numprocs
变量时通过主管)

如上所述,我找到了一种使用2种不同的传输配置该用例的方法。然而,这在我看来有点太复杂了:

框架:
信使:
运输:
单程运输:
dsn:“%env(MESSENGER\u TRANSPORT\u dsn)%”
选项:
交换:
姓名:我的交换
类型:直接
队列:
一个队列:
绑定密钥:
-一把钥匙
另一种交通工具:
dsn:“%env(MESSENGER\u TRANSPORT\u dsn)%”
选项:
交换:
姓名:我的交换
类型:直接
队列:
另一个队列:
绑定密钥:
-另一个绑定键
路由:
“App\MessageBroker\Message\OneNotification”:一个\u传输
“App\MessageBroker\Message\AnotherNotification”:另一个\u传输
行动1中的
#
$this->dispatchMessage(
新的OneNotification(),[new AmqpStamp('one_binding_key')]
);
#行动2
$this->dispatchMessage(
new AnotherNotification(),[new AmqpStamp(“另一个绑定密钥”)]
);
没有其他方法可以做到这一点吗

# SF consumer 1
[program:messenger-consume]
command=php bin/console messenger:consume one_transport
numprocs=4

# SF consumer 2
[program:messenger-consume]
command=php bin/console messenger:consume another_transport
numprocs=1