当我的python WSGI应用程序的代码发生变化时,我应该使用apache2的重新加载或平滑重启功能吗?
目前我们使用reload,但已经注意到有时应用程序不能正确加载,并且与缺少的模块相关的错误会记录到错误文件中,即使这些模块已经存在了很长时间。
发布于 2012-04-18 04:18:49
如果可以,您可能应该使用graceful。但是,如果您的应用程序没有正确退出,您可能必须通过重新启动来强制它。
对于wsgi,您应该尝试在守护程序模式下运行。当它在守护程序模式下运行时,您可以通过触摸wsgi文件并更新其时间戳来重新启动您的服务。这将在不重新启动apache的情况下重新加载所有代码。
这里有更多信息:http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess
这是用于django的,但可能对您的项目有用:http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
发布于 2012-04-18 09:19:04
'reload‘和'graceful’的效果与重新加载web应用程序的效果相同。如果您看到像您所描述的导入问题,则可能是您的应用程序代码中存在导入顺序依赖项或导入周期的问题。在使用Django的人中,这一点很常见。建议你实际张贴一个你得到的错误的例子。
https://stackoverflow.com/questions/10198359
复制相似问题