作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经能够创建根据此链接的每个请求创建的对象:http://flask.pocoo.org/docs/appcontext/#locality-of-the-context .
我实际上是在创建一个基于 http://blog.miguelgrinberg.com/post/designing-a-restful-api-using-flask-restful 的 API .
我希望能够一次加载一个对象,然后让它返回一个处理过的响应,而不是在每次请求时都加载。该对象不是数据库,只需要对一个大文件进行 unpickling。
我已经查看了文档,但我仍然对整个 Flask 两种状态感到困惑。
最佳答案
Flask 上下文只适用于每个请求。使用全局模块来存储您只想加载一次的数据。
你可以只在启动时加载数据,作为一个全局的:
some_global_name = load_data_from_pickle()
支持多进程的 WSGI 服务器要么派生进程,要么根据需要启动一个新的 Python 解释器。 fork 时,全局变量被复制到子进程。
您还可以使用 before_first_request()
Hook 将该数据加载到您的进程中;仅当进程必须处理实际请求时才会调用此方法。这将在进程 fork 之后,为您的子进程提供独特的数据:
@app.before_first_request
def load_global_data():
global some_global_name
some_global_name = load_data_from_pickle()
关于python - Flask:创建在多个请求中保留的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24251307/
这是我的jade雕像: section#entry-review-template.template(data-class='entry-review') table thead
我是一名优秀的程序员,十分优秀!