PHPアプリケーションにRabbitMQを実装することを検討しており、php-amqp拡張機能を使用しています。私の唯一の質問はこれです、PHPでキューの内容を返すために簡単にクエリを実行するにはどうすればよいですか?
php-amqpではこれができないようです。私がうまくいかない場合は、ここで私を助けてください:)
PHPアプリケーションにRabbitMQを実装することを検討しており、php-amqp拡張機能を使用しています。私の唯一の質問はこれです、PHPでキューの内容を返すために簡単にクエリを実行するにはどうすればよいですか?
php-amqpではこれができないようです。私がうまくいかない場合は、ここで私を助けてください:)
キューにあるメッセージの数を知る必要がある場合は、キューを宣言するとき、または を使用basic.get
して単一のメッセージを取得するときに、この情報を取得できます。通常、メッセージの受信者は使用basic.consume
し、待機しているメッセージの数はわかりません。
ジェームズ、rabbitmq-discuss でこの質問をしていただけますか? あなたの質問は、メッセージを取得するためにキューを「クエリ」することの意味に触れています。RabbitMQ では、キューからメッセージを消費し、キュー バインディングを使用してフィルタリングを実行します。このイントロを見てください - http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/
乾杯
アレクシス・ラビットMQ
この種の質問は、キューのデータ型と一般的な AMQP の概念に関するものです。
AMQP (および AMQP 互換ブローカーである RabbitMQ) では、キューは一般的な FIFO キューです。Queue は、任意のアイテムへのアクセスに通常使用されるタイプのデータ タイプではありません。現時点では、RabbitMQ は FIFO の概念をバイパスしてそのような種類のアクセスを許可する方法を提供していません。少なくとも箱から出して。サードパーティのプラグインが存在する可能性がありますが、そのようなものは知りません。繰り返しますが、FIFO の概念全体が台無しになり、新しい redis などになり、パフォーマンスへの影響についてさえ話されません (SO に関するこの Q&A でさえ、一般的なデータ構造操作の複雑さを確認できます -さまざまな時間の複雑さは何ですか?データ構造?任意のアクセスを追加することが AMQP またはパフォーマンスを気にする AMQP 互換ブローカーの目標ではない理由を簡単に説明します)。
任意のキュー アクセスに関する質問のほとんどは、キューが間違ったコンテキストに置かれている場合に発生します。それは、キューの概念が現在のアーキテクチャまたは望ましいアーキテクチャに適合しない場合や、いくつかのキー値ストレージまたはデータベースが適切である場合に発生する可能性があります。