我使用Flask创建了一个简单的API,在某些方法中,我需要像这样使用jvm:
@app.route('/inference', methods=['POST'])
def inference():
jvm.start()
#do somethings
jvm.stop()
return something
但是如果我这样做,每次我调用API时,服务器都会启动和停止jvm,速度会非常慢。
我的问题是,在我的方法中,可以把调用jvm.start()
放在哪里,而不是每次我调用API时都启动和停止jvm?
谢谢你的帮助
发布于 2019-06-05 22:09:03
只要按照元集的回答使用before_first_request
即可。如果想要清理或手动停止jvm,可以使用atexit。一旦应用程序终止,它就会运行。
例如:
@atexit.register
def onend():
jvm.stop()
https://stackoverflow.com/questions/56461817
复制相似问题