イベントループのキューが溢れているNode.jsアプリケーションはシングルスレッドです。Queueに溜まった処理キューを順次消化していく仕組みになっています。http://misclassblog.com/interactive-web-development/node-js/)つまり、Node.jsはひとつずつしかキューを処理できないのです。上記スクリプトで、ストリームのイベントのInvocationが、大量にこのイベントキューに押し寄せている事を想像してください。doAwesomeJobのコールバックは、その非同期処理の完了時点で最後列にエンキューされます。非同期処理の間にドキュメント読み出しイベントの処理キューが大量に溜まります。その結果、doAwesomeJobのコールバックが呼ばれるまでに時間がかかってしまっているのでした。似た問題に直面している人がいました。appRabbitMQのメッセージキューがいちどに大量に来た時に、イベントループのキューが溢れるようです。問題は僕のケースより少し深刻なようです。見なかったことにしましょう。ストリームを分割しよう溢れるのなら、分割すればいいですね。"done!"ドキュメントを100個ずつ読み出して、処理して、終わったら次の100個・・というフローに変更しました。今のところ、これで上手く動いています。このコードは少し汚いので、よりエレガントに書くためにasyncを使うことをお薦めします。drainで完了をフックするといいと思います。このストリームの分割では、ストリームを処理している間にドキュメントが追加・削除される事を想定していません。コレクションの変更まで考慮する場合は、想定される変更内容によって変わると思います。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。Blog.投稿先:キャンセル%d人のブロガーが「いいね」をつけました。