2

私は最近、自分のコードで無限ループのバグであることが判明した何かをデバッグするのに長い時間を費やしました。二度とそのような間違いを犯さないとは保証できないので、PythonアプリがN秒以上応答を返すのを待っているapache2サブプロセスを終了するようにWebサーバーを構成するにはどうすればよいですか?

この場合、サイトが遅く感じ始めるまでバグに気付きませんでした。その時点で、1 つの apache2 プロセスが無限ループ内で何時間も実行されていました。これをキャッチして私に電子メールを送信できるタイムアウト (10 分のような長いものでも) があった場合、私は問題をもっと早く知っていたので、多くのユーザーのサイトのパフォーマンスに影響を与えることはなかったでしょう。

グーグル、私は mod_wsgi 構成で同様の提案をいくつか見つけましたが、現在のセットアップでこれを行う方法があれば、それを好むでしょう。ありがとう!

4

2 に答える 2

0

うーん。

開発用の Python スクリプトを実行するために mod_cgi を使用できないでしょうか。そして、デプロイのために mod_python に戻ります。

次に、Apache コアの TimeOut ディレクティブを使用して、Apache が mod_cgi 応答を待機する時間を制限できます。NB Apache 2.2、つまり TimeOut ディレクティブに対するこの拡張機能は、2.2 リリースにのみ付属していました。

HTH

于 2010-01-07T15:15:01.603 に答える
0

短い答えはノーです。mod_python には、個々のリクエストにタイムアウトを設定する機能が組み込まれていません。

于 2010-01-09T20:21:15.430 に答える