我有一个在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上的线程。
提前致谢。