現在、自社開発のpython「ウェブサーバー」を維持しています。この場合、一部のリクエストに対する応答の生成には、主に重い計算が原因で非常に長い時間がかかる可能性があります。これらのリクエストは、基本的に非常に長いタイムアウト(数分から数十分と考えてください)を持つ投稿です。
このアーキテクチャの1つの問題は、そのようなリクエストをキャンセルする必要がある場合があることです。たとえば、ユーザーがリクエストの設定中にミスに気付きました。現在、キャンセルは別のリクエストであり、長時間実行されているリクエストをキャンセルします-しかし、多くのギャップがあります。
現在、Webサーバーの自作の廃止を廃止し、賢明な何かに切り替えることを計画しています-たとえば、Wfastcgiを使用してIIS内で実行されているFlask。政治的な理由により、IISが設定されているため、gunicornのようなものに切り替えることはできません。
(w)fastcgiによって実行されるプロセスを強制終了する方法は誰にもわからないため、すべての開発はそれで行き詰まりました。その懸念は単にfastcgi仕様の一部ではありません。
私の考えでは、それを組み込んだものを構築する試みは間違いです。サーバーがバックグラウンドサーバー(フラスコ+セロリ?)にそのような計算集中型のタスクをオフロードし、そのためのフロントエンドポーリングをオフロードするソリューションを好みます。
残念ながら、古いソリューションは長期間使用されていたため、一部の開発者はすべてのコストで動作を維持したいと考えていました。
Webサーバーの男ではないので、このような問題の賢明な解決策がどのようなものになるか、いくつかのヒントやパターンを教えてください。