2024-05-29 11:12:59 发布
网友
为了使用leveldb(python数据库),我只需要在启动服务器时加载数据库,而不是每次用户使用我的网站时都加载数据库。在
以前我用过网页.py以及if __name__ == '__main__'语句来实现这一点。一旦我切换到Apache,__name__变量总是modwsgi_....。在
if __name__ == '__main__'
__name__
modwsgi_....
有人能为我提供一个替代方案,可以与Apache和modwsgi一起工作吗?在
__name__的值的形式为_mod_wsgi_?????,因此请使用:
_mod_wsgi_?????
if __name__.startswith('_mod_wsgi_'): ...
更好的是,使用一个WSGI脚本文件,它不同于仅由mod\WSGI使用的其他所有脚本文件。因此,创建一个app.wsgi文件,然后从其他地方导入应用程序对象。这样就不需要检查,可以在全局范围内执行加载。在
app.wsgi
只要确保您在这两种情况下都使用守护程序模式,因为在嵌入式模式下,如果更改了WSGI脚本文件的修改时间,它在进程的生命周期中可能会多次加载。在守护程序模式下,这种情况不会发生,因为更改WSGI脚本文件会导致整个进程关闭并重新加载。在
顺便说一句,如何知道mod\u wsgi是否正在运行,请参见:
__name__
的值的形式为_mod_wsgi_?????
,因此请使用:更好的是,使用一个WSGI脚本文件,它不同于仅由mod\WSGI使用的其他所有脚本文件。因此,创建一个
app.wsgi
文件,然后从其他地方导入应用程序对象。这样就不需要检查,可以在全局范围内执行加载。在只要确保您在这两种情况下都使用守护程序模式,因为在嵌入式模式下,如果更改了WSGI脚本文件的修改时间,它在进程的生命周期中可能会多次加载。在守护程序模式下,这种情况不会发生,因为更改WSGI脚本文件会导致整个进程关闭并重新加载。在
顺便说一句,如何知道mod\u wsgi是否正在运行,请参见:
相关问题 更多 >
编程相关推荐