7

RabbitMQ でプライオリティ キューを実装しようとしています。メーリング リストでは、複数のキューを使用することを推奨しています。各キューは異なる優先度レベルを表しています。

私の質問は、pika (またはおそらく他の python ライブラリ) を使用して、優先順位の高い順序で複数のキューをどのようにポーリングするのですか?

4

3 に答える 3

4

受け入れられた後にこの質問に出くわした場合に備えて。RabbitMQ には、優先順位を付けて 1 つのキューを設定できるプラグインがあります: https://github.com/rabbitmq/rabbitmq-priority-queue

于 2014-07-30T05:40:12.187 に答える
3

デフォルトではすべての消費者が同じ優先順位を持っているので、pikaを使って消費者レベルでそれを素朴に行う方法はないと思います。

この問題を解決するために私ができることは、メーリングリストで提案されているように2つのキューを用意し、各キューに独自のコンシューマーを設定することです。各コンシューマーのコンシューマーコールバックでは、メッセージを直接処理する代わりに、メッセージを優先度キューに入れ、キューから最も優先度の高いメッセージを読み取って処理する関数を呼び出します。

同様の応答を持つ別の質問。

于 2011-10-25T18:30:00.643 に答える