どのように私はApache2の/ mod_pythonの/ DjangoはN秒後に要求処理を中止するように設定することができますか?
-
19-09-2019 - |
質問
私は最近、私自身のコード内の無限ループのバグであることが判明し、デバッグ長い間、何かを過ごしました。私は再び間違いのようなものを作ることは決してないだろう保証することはできませんので、どのように私は私のpythonアプリはN秒以上応答を返すのを待ったまま任意のapache2のサブプロセスを終了するために自分のWebサーバーを設定することができますか?
サイトが遅い感じ始めまで、この場合、私も1つのapache2のプロセスは時間の無限ループ内で実行されていた時点で、バグに気付きませんでした。これをキャッチし、私を電子メールで送信している可能性がタイムアウト(10分のようにも長いものが、)があった場合、私は早く問題について知っているだろうし、それは、多くのユーザーのためのサイトのパフォーマンスに影響を与えていないでしょう。
グーグル、私はmod_wsgiの構成に類似したもののいくつかの提案を見つけたが、私の現在の設定の下でこれを行う方法があります場合、私はそれを好みます。ありがとう!
解決
短い答えは、個々の要求にタイムアウトを持っているmod_pythonの内には組み込み能力がない、ないです。
他のヒント
うーんます。
あなたが開発のためのあなたのPythonスクリプトを実行するためにmod_cgiのを使用できるかどうか、私は疑問に思います。そして、展開のためのmod_pythonに戻ります。
次に、あなたは、Apacheはmod_cgiの応答を待機する時間を制限するために、ApacheのコアTimeOutディレクティブを使用することができます。 N.B. Apache 2.2、TimeOutディレクティブには、この拡張はわずか2.2リリースに付属してます。
HTH
所属していません StackOverflow