gpt4 book ai didi

python - 限制wsgi中的系统资源

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:12 26 4
gpt4 key购买 nike

我在共享主机上的 mod_wsgi 环境中运行 Django。我想限制请求可以使用的资源,如果超过该数量,理想情况下会引发异常。 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,所以我不不明白为什么 Python 试图设置它不相信它在主线程中运行的信号。

我正在运行 Python 2.7.2、Django 1.3.1、Apache 2.2.21 和 WSGI 3.3

最佳答案

发送电子邮件到 mod_wsgi 邮件列表,然后在那里讨论什么是可能的。在 mod_wsgi 4.0 dev 版本中,有一些实验性机制可以在 CPU 使用率超过某个值时终止进程,但它是进程范围的。由于可以使用多线程,因此很难在每个请求的基础上执行此操作。在 stackoverflow 上这里不是讨论它的地方。

关于python - 限制wsgi中的系统资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com