3

rabbitmq を介して nodejs アプリを作成するためのライブラリは、

https://github.com/postwait/node-amqp

非常に高速で複数のキューにメッセージを投稿するプロデューサーがあり、コンシューマーでは各キューのサブスクリプションを作成しています。

connection.on('ready', function () {
  for(var i=0;i<queues.length;i++)
  connection.queue(queues[i],{autoDelete:false}, qOnReady);
});
function qOnReady(q){
 // Catch all messages
  logger("Q "+q.name+" is ready");
  q.bind('#');
 // Receive messages
  q.subscribe(subscriber);
}

しかし、コンシューマーを実行すると、消費されるすべてのメッセージは特定のキューからのものであり、キューが使い果たされるまで、サブスクリプションは他のキューで開始されません。メッセージを並行して消費するにはどうすればよいですか。

4

1 に答える 1

0

Async Library を使用して、キューの並列実行を実現することができます。

それがあなたのニーズに合っているかどうかはわかりませんが。

https://github.com/caolan/async#paralleltasks-callback

于 2012-11-16T14:00:51.977 に答える