我想使用来自RabbitMq队列的消息,但仅针对一个priority
消息,我对队列x-max-priority:10
进行了优先级声明
和优先级
Exchange exchange.fanout
Properties priority: 10
content_type: text/plain
现在我怎样才能使用优先级为2
我试过这样的
$channel->basic_consume(
'priority-queue',
'',
false,
false,
false,
false,
function ($message) {
/** @var AMQPMessage $message */
echo $message->getBody();
echo "\n";
},
null,
new AMQPTable(
[
'x-priority' => 2,
]
)
);
但是我收到所有消息,当我使用x-priority => ['I', 2]
但我得到PRECONDITION_FAILED - invalid arg 'x-priority' for queue 'priority-queue'
答案 0 :(得分:0)
现在我怎样才能使用优先级为2的消息
最简单的方法是更改路由,以便将“优先级”消息发送到只有这些消息到达的队列。
然后你永远不必担心队列中的其他消息,你的消费者可以专用于这个队列中的任何消息......这恰好只是这个“优先级”的消息