何らかの理由で、以下の質問に対する答えが見つかりませんでした。おそらく、あまりにも明白すぎるためです。
perl ダンサーを使った実験中に、10 秒間スリープしてから何かを返すルートを追加しました。これは、長時間実行される操作をシミュレートするために行いました。この 10 秒間、ダンサーは他のリクエストに応えないことに気付きました。これは、ダンサーがシングルスレッドであるためだと理解しています。
現在、このシングルスレッドのアプローチは、要求がやや厳しいアプリケーションにも適していないことは明らかです。ですから、確立された解決策はたくさんあるに違いないと思います。しかし、私はグーグルで検索する正しい検索文字列を知らないようです.
明確にするために:長時間実行される操作自体を開始したリクエストがブロックされてもかまいません。私が望むのは、他のすべてのリクエストが処理されていることです。
誰でも私に教えてもらえますか
- ウェブサーバーは、他のリクエストをブロックすることなく、従来、長時間実行される操作をどのように処理していましたか?
- 操作に時間がかかることがわかっている状況で、セッションごとにスレッド/プロセスが存在するか、またはスレッド/プロセスをオンデマンドで生成できるか
- マルチスレッドに移行するとき、つまりブラウザが常に同じプロセスと通信するとは限らない場合、セッション情報はどのように保存されますか?
- ダンサーに関する特定の推奨事項(ダンサーの代替案を自由に推奨してください)