我有一个wsgi应用程序作为mod_wsgi守护进程运行(在守护进程模式下)。我的设置是这样的,每个守护进程在1000个请求后重新启动,如mod_wsgi配置指南所示:
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines
WSGIDaemonProcess www.site.com threads=1 processes=4 maximum-requests=1000
这样一个守护进程的生命周期就是1000个请求。
我的问题是: 守护进程何时重启?是否在最大请求限制完成后,上一个请求是否在下一个请求中?
已编辑:修复了帖子中的拼写错误。
答案 0 :(得分:3)
建议不要在生产环境中使用'maximum-requests',除非你的应用程序破损,以至于它严重泄漏内存并且你不能/不想修复它。
也就是说,由最大请求触发的标志当前设置在请求的开始处,这导致计数达到该值。这是一个实现细节,但可能会改变。例如,在mod_wsgi 4.0中,它不会那么明确,因为该版本在某些情况下引入了优雅重启超时的概念,这意味着可以在进程实际重启之前处理更多请求。为什么知道这一点很重要?
另外,为什么要设置'threads = 0'?你认为结果是怎么回事?它可能不是你的想法。