flask会话:如何关闭会话中的资源

时间:2018-11-15 11:48:18

标签: python session flask flask-session

在对我的flask API的每个请求中,我正在创建资源的新句柄。因为这些句柄非常聪明,并且可以缓存很多交互,所以这可能会浪费大量的性能。我想将手柄移到我的flask-session上。但是,如果不再使用手柄,则需要将其关闭。会话有可能吗?

我想移动这段代码

# inside a flask route
with Resource_handle() as resource_handle:
    # use it

此代码

# inside a flask route
if "resource_handle" in session:
    resource_handle = session["resource_handle"]
else:
    resource_handle = Resource_handle()
    session["resource_handle"] = resource_handle

# where do I put resource_handle.close()

据我所知,API没有涵盖这种情况。因此,我认为我将只是扩展现有会话并实现自己的资源处理会话。但这很棘手,没有end_session回调。仅open_sessionsave_session。来源在这里:https://github.com/fengsp/flask-session/blob/master/flask_session/sessions.py

与flask-session无关,但为了使问题更精确:我不能简单地将句柄设为全局并让所有请求共享它。这是一个设计问题,我需要各个手柄不要互相影响。 (另外还有线程安全性问题。请确保这些句柄不是线程安全的。)

0 个答案:

没有答案