私はRabbitMQでアプリケーションを持っています。ここでは、HTTP API(/ api/queues/vhost/name)を使ってRabbitキュー内のメッセージ数を取得しています。 ただし、この情報は随時(デフォルトでは5秒ごとに)更新されているようです。私はその情報が常に最新であると思っていました。それは、一定の間隔で更新された管理ページでした。RabbitMQとキューデータ
リアルタイム情報を含むキュー内のメッセージ数を取得する方法はありますか?
あなたは私はRabbitMQでアプリケーションを持っています。ここでは、HTTP API(/ api/queues/vhost/name)を使ってRabbitキュー内のメッセージ数を取得しています。 ただし、この情報は随時(デフォルトでは5秒ごとに)更新されているようです。私はその情報が常に最新であると思っていました。それは、一定の間隔で更新された管理ページでした。RabbitMQとキューデータ
リアルタイム情報を含むキュー内のメッセージ数を取得する方法はありますか?
あなたは管理データベースは、デフォルトでは各5秒に更新されますありがとうございます。
リアルタイム値はコマンドラインrabbitmqctl list_queues
を使用してください。
使用しよう:
channel.messageCount(you_queue)
それはあなた
/** * Returns the number of messages in a queue ready to be delivered * to consumers. This method assumes the queue exists. If it doesn't, * an exception will be closed with an exception. * @param queue the name of the queue * @return the number of messages in ready state * @throws IOException Problem transmitting method. */ long messageCount(String queue) throws IOException;
のためのおかげで動作するかどうかを確認するが、私はしないことによって、Javaアプリケーションからそれを実行する必要がありコンソール(とコンソールでは、それは遅いクエリのようです)。 – jandres
messageCountメソッドは私にとっては機能しません。常に0のメッセージを返します。詳細については、私はSpring-amqpフレームワークを使用しています。 – jandres