Web アプリのキューイングの概念を調べています (つまり、Web 要求サイクルで完了するのではなく、別のワーカーによって完了するために、いくつかの種類のジョブをキューに入れます)。
ASP.NET MVC環境で利用できる、これに対する適切なソリューションが存在するかどうかを知りたいです。
誰かが(良いまたは悪い)経験をしたことがありますか?
ありがとうございました!
アップデート:
明確にするために、着信リクエストをキューに入れることについて話しているのではありません。私が何を意味するのかを説明しようとします...
1) 標準的な状況:
- ブラウザからのリクエスト
- サーバー処理開始
- 長いジョブの開始
- 長い仕事が終わった
- サーバー処理終了
- ブラウザーに返された応答
2)私が調べていること:
- ブラウザからのリクエスト
- サーバー処理開始
- キューに入れられた長いジョブ
- サーバー処理終了
- ブラウザーに返された応答
そして別のプロセスで(おそらく応答が送信された後):
- キューから取得された長いジョブ
- 長いジョブの開始
- 長い仕事が終わった
最初のインスタンスでは、ユーザーはサーバーの応答を長時間待ちましたが、2 番目のインスタンスでは応答が速かったです。
もちろん、これに適した特定のタイプの仕事もあれば、そうでない仕事もあります。
更新 2:
クライアントは、長いジョブの結果ですぐに更新する必要はありません。ユーザーがたまたまページを更新したときはいつでも(もちろんジョブが完了した後)、変更はアプリケーションに表示されます。
スタック オーバーフローで発生するいくつかのことを考えてみてください。アプリケーションの各部分ですぐに更新されるわけではありませんが、これは非常に迅速に発生します。これらのジョブのいくつかはキューに入れられていると思われます。