flask在使用多线程后,每个线程中不同路由之间如何共享参数?
之前是使用了一个全局变量来在不同路由之间共享参数,想请教下在开了多线程后,该如何做呢?
@app.route('/predict', methods=['POST'])def model_predict():
global res_dict
res_dict = {}
.....
@app.route('/hotel_summary')
def hotel_summary():
hotel_name = res_dict["hotel_name"]
.....
在用gunicorn开了多线程之后,当访问hotel_summary的路由时,直接报错“NameError: name 'res_dict' is not defined”
想请教下各位大佬该如何解决这个问题呢?万分感谢!!!
回答:
你应该将这些数据存入DB或者Cache。Web服务最好做成无状态的,不然你后续可能又要问如何跨进程传递参数,如何跨机器传递参数……还有,将数据暂存在web服务进程内部,服务一重启就啥都没了……
以上是 flask在使用多线程后,每个线程中不同路由之间如何共享参数? 的全部内容, 来源链接: utcz.com/a/165726.html