Joh*_*ohn 5 python flask flask-restful
我已经能够创建在此链接的每个请求中创建的对象:http://flask.pocoo.org/docs/appcontext/#locality-of-the-context.
我实际上是在创建一个基于http://blog.miguelgrinberg.com/post/designing-a-restful-api-using-flask-restful的API .
我希望能够加载一次对象并让它返回一个已处理的响应,而不是在每次请求时加载它.该对象不是数据库,只需要取消大文件的取消.
我查看了文档,但我仍然对这整个Flask两个状态感到困惑.
Flask上下文仅适用于每个请求.使用全局模块来存储您只想加载一次的数据.
您可以在启动时加载数据,作为全局:
some_global_name = load_data_from_pickle()
Run Code Online (Sandbox Code Playgroud)
支持多个进程的WSGI服务器可以分叉进程,也可以根据需要启动新的Python解释器.在分叉时,全局变量被复制到子进程.
您还可以使用before_first_request()hook将该数据加载到您的流程中; 只有在进程必须处理实际请求时才会调用此方法.这将在进程fork之后,为您的子进程提供唯一数据:
@app.before_first_request
def load_global_data():
global some_global_name
some_global_name = load_data_from_pickle()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |