当我的python WSGI应用程序的代码发生更改时,我应该使用apache2的重新加载还是优雅的重启功能?
目前我们使用reload,但是注意到有时应用程序无法正确加载,并且与错误模块有关的错误会记录到错误文件中,即使这些模块已经存在了很长时间。
答案 0 :(得分:0)
如果可以,你应该使用优雅。但是如果你的应用程序没有正确退出,你可能只需要重新启动它就可以强制它。
对于wsgi,您应该尝试在守护进程模式下运行。当它以守护进程模式运行时,只需触摸wsgi文件并更新其时间戳即可重新启动服务。这将重新加载所有代码而无需重新启动apache。
以下是更多信息:http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess
这适用于django,但可能对您的项目有用:http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
答案 1 :(得分:0)
“重新加载”和“优雅”与重新加载Web应用程序具有相同的效果。如果您看到如您所描述的导入问题,则可能是您的应用程序代码中存在导入顺序依赖性或导入周期的问题。人们使用Django可以看到很多。建议您实际发布一个错误示例。