2017-08-09 14 views
0

キューに入れるメッセージ数の上限を設定する必要があります。だから明らかに、キューにあるアイテムの数を知る必要があります。 RabbitMQキュー内のメッセージ数を、管理APIを使用せずに、またはQueueDeclarePassiveを使用しないで、どのようにしてc#クライアントからチェックするのですか?C#クライアントからRabbitMQキューサイズを取得するにはどうすればよいですか?

+0

はdownvoteを説明しますか? – Theyouthis

+0

あなた自身の質問に答えるのに間違ったことはありませんが、あなたの答えの紹介だけでなく、[実際の質問](https://stackoverflow.com/help/how-to-ask)でなければなりません。リンクの「その他のヘルプ」セクションをお読みください。 –

+0

他の人が問題を再現するのを助けてください。 – Theyouthis

答えて

2

以下は、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)

関連する問題