Heim  >  Artikel  >  Backend-Entwicklung  >  message - 如何用php获取rabbitmq指定队列中的未处理消息数量

message - 如何用php获取rabbitmq指定队列中的未处理消息数量

WBOY
WBOYOriginal
2016-06-06 20:51:532247Durchsuche

PHP扩展选用的是php-amqp

希望实现的是,在php中能获取到指定消息队列中的未被领取走的消息数量(包括Un-ack的消息)。

在命令行下执行: XXX/rabbitmqctl list_queues可以返回该数据

我想知道php下是否有对应方法可以获取该值?

@modi 的答案补全代码:
message - 如何用php获取rabbitmq指定队列中的未处理消息数量

回复内容:

PHP扩展选用的是php-amqp

希望实现的是,在php中能获取到指定消息队列中的未被领取走的消息数量(包括Un-ack的消息)。

在命令行下执行: XXX/rabbitmqctl list_queues可以返回该数据

我想知道php下是否有对应方法可以获取该值?

@modi 的答案补全代码:
message - 如何用php获取rabbitmq指定队列中的未处理消息数量

declare一个队列,置AMQP_PASSIVE标志位,就不会影响服务端状态,并返回消息计数。

$conn = new AMQPConnection();
//...
$queue = new AMQPQueue($conn);
$queue->setFlags(AMQP_PASSIVE);
$messageCount = $queue->declare($queueName); // 
                            
            <p class="answer fmt" data-id="1020000000118543">
                                    </p><p>看了手册http://php.net/manual/en/book.amqp.ph...,好像没有相应的方法</p>
                            
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn