2012-01-31 2 views
2

私はDjangoを共有ホスト上のmod_wsgi環境で実行しています。私は要求が使用できるリソースを制限し、その量を超えると例外的に例外を発生させたい。私は私が取得要求を実行したときしかし、wsgiのシステムリソースを制限する

signal.setrlimit(resource.RLIMIT_CPU, (10, -1)) 
signal.signal(signal.SIGXCPU, cpu_signal) 
signal.signal(signal.SIGALRM, timeout_signal) 
signal.alarm(1) 
#Do some stuff 
signal.alarm(0) 

:私は次の操作を実行し、要求に

WSGIDaemonProcess django processes=10 threads=1 display-name=django-web 
WSGIProcessGroup django 

WSGIRestrictSignal off 
WSGIRestrictStdout off 

のVirtualHostは以下があります。次のようにWSGIのオプションがありますエラー信号は、アクティブなスレッドの数をプリントアウトしても、メインスレッドでのみ動作し、スレッド名は1つあり、現在のスレッド名はMainThreadなので、私はアンパンマンではありませんdなぜPythonはメインスレッドで実行されているとは信じられないシグナルを設定しようとしますか?

私は、Python 2.7.2、Djangoの1.3.1はApache 2.2.21とWSGI 3.3

+0

たとえば、「の消費をに制限したい」などの目標を記述します。 –

答えて

0

を実行していますメーリングリストをmod_wsgiをすると何ができるかが議論するメールを送信します。 mod_wsgi 4.0の開発版では、CPU使用率がある値を超えた場合にプロセスを強制終了するためのいくつかの実験的なメカニズムがありますが、それはプロセス全体です。マルチスレッドが使用可能であるため、リクエストごとに行うのは難しいです。ここでstackoverflow上の議論を開催する場所ではありません。