7

単一のキューを持つ単一のRabbitMQ交換があります。複数のスレッドを実行し、このキューをできるだけ早く処理するデーモンを作成したいと思います。

「作業」には外部サービスとの通信が含まれるため、各コンシューマー内でかなりの量のブロックが発生します。そのため、すべて同じキューからのメッセージを処理する複数のスレッドが必要です。

これは、プライマリスレッドでキューを消費し、着信した作業を他のスレッドのプールにファームすることで実現できますが、それぞれが独自のスレッドコンテキスト内で複数のコンシューマーを起動する方法はありますか?

4

1 に答える 1

3

celeryを見てみましょう。これは、AMPQ ブローカーからのタスクをキューに入れ、処理するように設計されています (ただし、他のキューイング バックエンドでも動作します)。マルチプロセスまたはマルチスレッドの同時実行を処理し、タスクの作成と使用を非常に簡単にします。

于 2011-06-28T14:43:58.083 に答える