[英]RabbitMq consume by priority
我想使用来自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'
现在我如何只使用优先级为2的消息
最简单的方法是更改路由,以便将“优先级”消息发送到只有这些消息到达的队列。
然后你永远不必担心队列中的其他消息,你的消费者可以专用于这个队列中的任何消息......这恰好只是这个“优先级”的消息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.