firebase-queue
サーバー側の作業を処理するためにモバイルアプリで使用しています。こちらのfirebase-queue
ドキュメントでは、node.js スレッドで同時に実行できるワーカーの数を指定するオプションのパラメーターを指定できると書かれています。アプリケーションでこのパラメーターを使用する方法がよくわかりません。たとえば、私がサーバー側で行っていることの 1 つは、ユーザーが最初にアプリケーションにログインしたときに確認コードをユーザーに送信することです。これは、将来的には数百人のユーザーになる可能性があります。のユーザーをもう少しよく理解するために明確にしたい質問がいくつかありますnumWorkers
firebase-queue
numWorkers
- firebase キューに複数のワーカーを配置する必要があるのはいつですか?
- firebase キューの最適なワーカー数はいくつですか? Java のバックグラウンドから来て、アプリケーションで実行されるスレッドの数が増えると、一定の制限を超えるとオーバーヘッドになり始める可能性があると言われています。同様の原則がここに適用されるかどうかはわかりません。
- 異なるサービスを提供する複数のキューがある場合
specIds
、キューごとではなく累積レベルで合計ワーカー数を考える必要がありますか 現在、4つのキューがあります。
上記の私の質問に関して情報をお持ちでしたらお知らせください。どんな入力でも大歓迎です。
更新 - 2016 年 6 月 5 日
をいじってみると、特定の仕様で同時に実行できるタスクの数を が制御firebase-queue
していることに気付きました。numWorkers
キュー ワーカーは非同期方式で動作しないため、指定された specId のタスクが終了するまでに時間がかかる場合、キュー内に多くのタスクが取得されるのを待機することになる可能性があります。たとえば、タスクの処理にネットワーク要素がある場合、終了までに時間がかかる場合があり、これらのタスクがキューに多数存在することが予想される場合は、firebase に複数のワーカーが必要です。列。これで、最初の質問に対する答えがわかりました。
質問 2 と 3 についてまだ疑問に思っています。特定の時間に数百または数千のタスクがキューにあり、その中にはネットワーク要素が関係しているため、完了するまでにかなりの時間がかかる場合があります。1 つのキューに 100 人のワーカーを配置した場合の影響についてはわかりません。私のアプリはまだ開発段階にあり、現時点ではそのようなタスクを大量にシミュレートするためのセットアップがないため、自分でテストすることはできません。