你如何从c#客户端获得RabbitMQ队列大小?

时间:2017-08-09 18:58:26

标签: c# rabbitmq

我需要设置队列中可以有多少条消息的上限。显然我需要知道队列中有多少项。如何在不使用管理API或使用QueueDeclarePassive的情况下从c#客户端检查RabbitMQ队列中的消息数?

1 个答案:

答案 0 :(得分:3)

以下是IModel对象上的消息计数功能的示例。您不需要使用QueueDeclarePassive或向管理插件发出休息请求。应该有一个功能。

public uint GetMessageCount(string queueName)
{
    using (IConnection connection = factory.CreateConnection())
    using (IModel channel = connection.CreateModel())
    {
        return channel.MessageCount(queueName);
    }
}

有关文件: http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v3.6.4/rabbitmq-dotnet-client-3.6.4-client-htmldoc/html/type-RabbitMQ.Client.IModel.html#method-M:RabbitMQ.Client.IModel.MessageCount(System.String)