Python 如何在Flask中共享在上下文之外创建的会话值?
如何在会话中存储线程创建的内容,以便稍后在另一个请求中访问该值 以下是一个示例:Python 如何在Flask中共享在上下文之外创建的会话值?,python,flask,flask-session,Python,Flask,Flask Session,如何在会话中存储线程创建的内容,以便稍后在另一个请求中访问该值 以下是一个示例: @app.route(“/one”) def one(): @复制\u当前\u请求\u上下文 def x(): 会话['status']=“完成” t=线程。线程(目标=x) t、 开始() 返回“一” @应用程序路径(“/two”) def two(): 状态=会话['status'] 返回“二:{}”。格式(状态) 在上面的示例中,我在/one请求中存储了线程中的“状态”(我需要运行线程),但稍后,比如说5s
@app.route(“/one”)
def one():
@复制\u当前\u请求\u上下文
def x():
会话['status']=“完成”
t=线程。线程(目标=x)
t、 开始()
返回“一”
@应用程序路径(“/two”)
def two():
状态=会话['status']
返回“二:{}”。格式(状态)
在上面的示例中,我在/one请求中存储了线程中的“状态”(我需要运行线程),但稍后,比如说5s,我想检查另一个请求(/two)中的状态
@copy\u current\u request\u上下文是否对会话/请求进行只读(或读写和弃写)复制?最简单也是最好的答案是使用已完全描述的全局变量
但是,如果您的应用程序要进行扩展,并且需要与其他实例共享这些数据,则可以使用“Redis”作为快速内存数据库 最简单也是最好的答案是使用已经完全描述过的全局变量 但是,如果您的应用程序要进行扩展,并且需要与其他实例共享这些数据,则可以使用“Redis”作为快速内存数据库
warehouse={}#此关联数组将保留数据
@应用程序路径(“/one”)
def one():
全球仓库
@复制\u当前\u请求\u上下文
def x():
仓库['status']=“完成”
t=线程。线程(目标=x)
t、 开始()
返回“一”
@应用程序路径(“/two”)
def two():
全球仓库
状态=仓库[“状态”]
返回“二:{}”。格式(状态)
当然,这是一个幼稚的实现-因为这个对象仓库将在所有请求和会话之间共享-所以应该有一个保护机制(例如:1.将会话中的所有内容存储在某个键下2.有一个清理线程,等等)
奖金:除此之外,即使在非开发环境中也能工作(例如:Twisted服务器)
warehouse={}#此关联数组将保留数据
@应用程序路径(“/one”)
def one():
全球仓库
@复制\u当前\u请求\u上下文
def x():
仓库['status']=“完成”
t=线程。线程(目标=x)
t、 开始()
返回“一”
@应用程序路径(“/two”)
def two():
全球仓库
状态=仓库[“状态”]
返回“二:{}”。格式(状态)
当然,这是一个幼稚的实现-因为这个对象仓库将在所有请求和会话之间共享-所以应该有一个保护机制(例如:1.将会话中的所有内容存储在某个键下2.有一个清理线程,等等)
奖金:除此之外,即使在非开发环境中也能工作(例如:Twisted服务器)