我认为这可能是一个基本问题,但我找不到答案。
我创建了一个flask应用程序,在其中定义了一个全局变量,我只想初始化一次此变量,然后在每个请求中重复使用。
在我的情况下,此变量是运行R代码的rpy2.robject,变量名称为pdp,如示例代码所示
问题是初始化此变量大约需要5秒钟,所以我只想在我的应用程序中执行一次,并使此变量在所有请求中都保持活动状态
这是我的代码
from flask import Flask,session
from flask import request
import sys
from rpy2.robjects.packages import importr
app = Flask(__name__)
pdp=importr('PDP.v1') #I want to keep this python object alive
@app.route("/rpy")
def Call_rpy():
id=request.args.get('id')
length=int(request.args.get('len'))
result=pdp.Predict(id,length)
json_res= str(now)+result[0]
return json_res
if __name__ == "__main__":
app.run()