質問

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互換ブローカーの目標ではない理由を簡単に説明します。

任意のキューアクセスに関する質問のほとんどは、キューが間違ったコンテキストに配置された場合に発生します。キューコンセプトが現在のアーキテクチャや欲望のアーキテクチャが適合しない場合、およびキーと価値のあるストレージまたはデータベースの拳が良くなる場合です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top