与Django的uWSGI harakiri并不总是有效

时间:2018-04-05 06:40:20

标签: python django linux multithreading uwsgi

我有一个在uWSGI上运行的Django应用程序。

我有以下uWSGI设置:

master = true
processes = 8

enable-threads = true
threads = 25
harakiri = 30
harakiri-verbose = true

当我连接到此服务器的时间超过30秒时,应该终止该进程。我通过监视日志文件来验证进程终止。漫长的过程是通过在Django中将线程置于睡眠状态(time.sleep(200))来完成的。

让我感到困惑的是,尽管我已经从日志中看到过程已经终止,但有时候,它仍然会继续运行(睡眠后)。我的期望是,如果进程运行超过30秒,它应该被杀死并且永远不会继续。

我错过了一些细节吗?或者错误地实施它? 让线程以某种方式进入睡眠与杀死线程和唤醒时间相同,创建一个具有不同ID的新线程?因此,uWSGI杀死线程不会影响Django上的线程。

提前致谢。

0 个答案:

没有答案