現在、外部サーバーからデータを取得し、結果をフロント エンドにプッシュする Flask アプリのルートがあります。外部サーバーの速度が遅くなったり、応答しなくなったりすることがあります。外部サーバーが遅れている場合にフロントエンドがハングしないように、ルート呼び出しにタイムアウトを設定する最良の方法は何ですか? または、(Apache、nginx などではなく) Flask でこの状況を処理するためのより適切な方法はありますか?
更新:私の目標は、ルート呼び出しをタイムアウトすることであり、このSO question: Time out issues with chrome and flameのように任意の長いプロセスを存続させないことです。Websockets のようなオプションは、完了するまでバックグラウンド プロセス/スレッドを実行します。ただし、一定の時間が経過したら、遅いルート呼び出しを停止したいと考えています。関数呼び出しのタイムアウトやPython タイムアウトと同様ですが、Flask コンテキスト内です。Celery のタスク デコレータ ( Python、Flask、および Celery を使用した同時非同期プロセス) は優れたソリューションのように思えますが、その機能のごく一部を使用するために大きな依存関係を要求したくありません。
ここでこの質問を再開しました: Place a timeout on calls to an unresponsive Flask route (updated) .