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