我的django应用程序在apache + wsgi上运行。我的django应用程序中的一个模块需要通过jpype加载Java库,并且由于其应用程序性质,此Java库需要很长时间才能初始化。在django + mod_wsgi + apache上初始化模块
问题是,对于由apache + wsgi设置中的django处理的每个http请求,此Java库都将被重新加载。但是,当我在开发Web服务器(python manager.py runserver 8000)中运行相同的应用程序时,这种情况不会发生。在开发Web服务器中,它只能加载Java库一次。
是否有任何方法来更改apache或mod_wsgi配置或我的django应用程序,以便它不会重新加载我的Java库的每个http请求?
非常感谢。
安迪
在您的项目/应用程序库的哪个部分加载?项目设置?在应用程序特定的文件? –
该库被加载到我的一个特定于应用程序的文件中。如果尚未加载,该文件包含一个用于加载java库的类静态方法。 – Andy
问题是,当在生产环境中使用Django时,更多的应用程序特定文件可能会被多次导入,所以您对Java库的调用将不止一次。在初始化Java VM之前,我和PyLucene有同样的问题。一个好的解决方案是在你的settings.py中加载库(它应该只在每个wsgi线程中导入一次),然后在你的应用程序中引用它。 –