gpt4 book ai didi

python - 使用 Mod_WSGI 和 Bottle 在 python 脚本初始化时只加载一次文件

转载 作者:行者123 更新时间:2023-11-28 17:53:04 25 4
gpt4 key购买 nike

我对 Python、Mod_WSGI 和 Bottle 还很陌生。我的主要问题是,当使用 Mod_WSGI 运行进程时,我希望它在初始化时加载一次文件。通过在终端中运行脚本,您只需使用 if __name__ == '__main__'

我需要它在初始化时(或首次调用时)加载文件一次,以便对该进程的任何后续调用都不需要重新加载文件。我不确定该怎么做。

每当有人访问推荐页面时,就会运行以下代码

@route('/recommend')
def recommend():
parser = OptionParser(usage="usage: %prog [options]")
parser.add_option('-f', '--file', default='data.csv', help='Specify csv file to read item data from.')
parser.add_option('-D', '--debug', action='store_true', dest='debug', help='Put bottle in debug mode.')
(options, args) = parser.parse_args()
return res.recommend(request)

如何只在初始化时执行前 4 行(涉及解析器的行),以便在访问推荐页面时只需要调用 res.recommend()?

感谢任何帮助,莫

最佳答案

对于守护进程模式,将它放在 WSGI 脚本文件的全局范围内。每个进程只加载一次该文件。这通常是针对映射到该应用程序的第一个请求。

对于嵌入式模式,如果您修改 WSGI 脚本文件,它可以在同一进程中再次重新加载。在那种情况下,如果您愿意,甚至对于守护进程模式,也可以使用单独的脚本文件并使用 WSGIImportScript 指令在进程启动时强制加载它。

参见:

http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIImportScript

您需要知道您的 WSGI 应用程序在哪个进程组/应用程序组中运行,以便将其加载到同一个子解释器中,因此还要查看 WSGIProcessGroup/WSGIApplicationGroup 指令。

关于python - 使用 Mod_WSGI 和 Bottle 在 python 脚本初始化时只加载一次文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com