Я запускаю Django в среде mod_wsgi на общем хосте. Я хочу ограничить ресурсы, которые может использовать запрос, и в идеале повысить исключение, если оно превышает эту сумму. Варианты WSGI заключаются в следующем:Ограничение системных ресурсов в wsgi
WSGIRestrictSignal off
WSGIRestrictStdout off
VirtualHost имеет следующее:
WSGIDaemonProcess django processes=10 threads=1 display-name=django-web
WSGIProcessGroup django
В запросе я делаю следующее:
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)
Однако, когда я запускаю запрос я получаю сигнал ошибки работает только в основном потоке, несмотря на то, что когда я распечатываю количество активных потоков и имя потока, которое я получаю, есть один поток, а текущее имя потока - MainThread, поэтому я не поддаюсь d почему Python пытается установить сигнал, он не верит, что он работает в основном потоке.
Я бегу на Python 2.7.2, Django 1.3.1 Apache 2.2.21 и WSGI 3,3
Опишите свою цель, например «Я бы хотел ограничить потребление до ". –