1

在对我的烧瓶 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

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

4

0 回答 0