PHP获取RabbitMQ队列内消息数量

发布时间:2017年11月08日 // 分类:代码 // 2 条评论

程序中需要获取RabbitMQ当前队列中消息数量,网上相关的文档都是五六年前的就文档,所描述的AMQPQueue类已经不存在。最终在SDK中翻到蛛丝马迹$message_count。

/php-amqplib/PhPAmqpLib/Channel/AMQPChannel.php Line 645
/**
 * Confirms a queue definition
 *
 * @param AMQPReader $reader
 * @return string[]
 */
protected function queue_declare_ok($reader)
{
    $queue = $reader->read_shortstr();
    $message_count = $reader->read_long();
    $consumer_count = $reader->read_long();

    return array($queue, $message_count, $consumer_count);
}

遂找到解决方案:

function getQueueMessageCount($queue_name){
    $conn = new AMQPStreamConnection(连接配置);
    $channel = $conn->channel();
    
    // queue_declare第二个参数$passive需要为true
    $declare_info=$channel->queue_declare($queue_name,true);

    $message_count=$declare_info[1];
    return $message_count;
}

本文固定链接
http://www.ywlib.com/archives/123.html

标签
php

已有 2 条 关于 " PHP获取RabbitMQ队列内消息数量 "的评论.

  1. kincae

    你好,找了很多文档就你的这篇解决了我的问题,可以留个联系方式吗

    1. 关于页面里有我的邮箱

添加新评论 »

分类
随机文章
最新文章
最近回复
  • amos: 真管用!!!感谢版主
  • Kent: 优秀!
  • Kent: 关于页面里有我的邮箱
  • kincae: 你好,找了很多文档就你的这篇解决了我的问题,可以留个联系方式吗
  • xuesheng: phpredis版本的问题。 phpredis 5.3.0 fixed. * Use long...
  • Proxmox VE 6.1 配置源及关闭订阅提醒 - ZIMRI`Blog: [...]原文链接 https://www.ywlib.com/archives/150.ht...
  • 夏目贵志: 感谢解决困惑我2小时的问题!!!
  • Kent: 啊。。好的。。谢谢你
  • zhuohua liu: 你的网站被Norton Safe Web列为恶意网站,自动拦截的,去发个mail洗白吧,不然影...
  • typecho模板: 只调用随机文章的内容怎么操作啊?类似多思多金博主的你好污啊那种样子的