データストアに対して 1000 の異なるクエリを作成し、個々のクエリの結果に対していくつかの計算を行い (1000 の個別の結果を取得する)、結果のリストを返したい状況があります。
クライアント側のパフォーマンスを向上させるために、計算を開始したのと同じ 30 秒のユーザー要求からの応答として結果のリストが返されるようにしたいと考えています。ハッ!
私には大胆な計画があります。
これらの各操作は、通常、1 秒以内に完了する問題はなく、他の操作と同じエンティティ グループに書き込む必要はなく、他のクエリからの情報を必要としません。1000 の独立したタスクを開始し、それぞれがこれらのクエリの 1 つを受け取り、計算を行い、結果をエンティティの一時的なコレクションのようなものに保存することは可能でしょうか? 元のリクエストは 10 秒待ってから、データストアからの結果に対して 1 つのクエリを実行できます (クエリできる一意の値がすべて設定されている可能性があります)。まだ入っていない結果はクライアント側で通知され、クライアントはさらに 10 秒後にそれらの値を再度要求することができます。
経験豊富なアプリ エンジニアに答えてもらいたい質問は次のとおりです。
- これはばかげていますか?もしそうなら、それはいくつものタスクにとってばかげていますか? 一度に50個は合理的でしょうか?
- 同じエンティティを 1 秒間に 20 回読み取っても、データストアの競合は発生しませんよね? その論争はすべて書くためのものですか?
- タスクから応答を取得する簡単な方法はありますか?