2

Python で RabbitMQ レシーバー/コンシューマーを作成したいと考えていますが、メッセージを確認する方法がわかりません。pika のコールバックを使用せずに、自分のループでこれを実行しようとしています。

理解できれば、Java クライアントを使用getBasic()して、ブロックせずに利用できるメッセージがあるかどうかを確認できます。メッセージを受信して​​いる間はブロックしてもかまいませんが、メッセージがあるまでブロックしたくありません。

明確な例が見つからず、対応する pika の呼び出しをまだ把握していません。

4

3 に答える 3

1

この回答Get Queue Size in Pika (AMQP Python)の例を使用して、定期的にキュー サイズを確認できます。

于 2014-12-16T08:50:14.047 に答える
1

同期的に実行したい場合は、ピカを見る必要がありますBlockingConnection

BlockingConnection は、予想される応答が返されるまでブロックする Pika の非同期コア提供メソッドの上にレイヤーを作成します。RabbitMQ からアプリケーションへの Basic.Deliver および Basic.Return 呼び出しの非同期の性質により、basic_consume を使用して RabbitMQ からメッセージを受信する場合、または必要な場合は、継続渡しスタイルの非同期メソッドを実装する必要があります。 basic_publish を使用すると、配信の失敗が通知されます。

詳細と例はこちら

https://pika.readthedocs.org/en/0.9.12/connecting.html#blockingconnection

于 2013-02-28T15:43:15.357 に答える