我有两个队列:
当我运行时同样可见rabbitmqadmin list queues vhost name node messages message_stats.publish_details.rate -u admin -p admin:
我得到:
+-------+-------------------------+-------------------------+----------+------------------------------------+
| vhost | name | node | messages | message_stats.publish_details.rate |
+-------+-------------------------+-------------------------+----------+------------------------------------+
| / | high_priority | rabbit@server-rabbitmq | 5 | 0.0 |
| / | high_priority_secondary | rabbit@server-rabbitmq | 0 | 0.0 |
+-------+-------------------------+-------------------------+----------+------------------------------------+
我的交流(rabbitmqadmin -V / list exchanges -u admin -p admin)如下:
+-------------------------+---------+
| name | type |
+-------------------------+---------+
| | direct |
| amq.direct | direct |
| amq.fanout | fanout |
| amq.headers | headers |
| amq.match | headers |
| amq.rabbitmq.trace | topic |
| amq.topic | topic |
| high_priority | direct |
| high_priority_secondary | direct |
| low_priority | direct |
+-------------------------+---------+
队列和整个相关逻辑是在 PHP / Symfony 中实现的,但是我想通过在终端中使用rabbitmqadmin或命令来使用本机逻辑(如果可能) 。rabbitmqctl
如果消息失败high_priority,我希望 RabbitMQ 自动将其移至队列,high_priority_secondary而无需任何 PHP 参与。这可能吗?我已经开始阅读有关死信交换的内容,但我不知道如何解决这个问题。
我已经为辅助队列创建了一个消费者,因此一旦消息移动到那里,它就会被处理。
仅在 CLI 中可以实现此目的吗?
仅供参考:SO 上有一些建议的帖子已经涵盖了这个问题,但没有一个解决方案是纯粹的 CLI 解决方案。
largeQ
RISEBY