app*_*pel 5 python reload werkzeug flask socket.io
我有一个使用蓝图和 socketio 的 python Flask 应用程序,它在启动应用程序之前将一个大模型(5GB)加载到内存中,如下所示:
启动器.py
import app
from model import load_model
if __name__ == "__main__":
    load_model()
    app.main()
应用程序
from app import app, socketio
def main():
    socketio.run(app, port = 5000)
模型.py
model = None
def load_model():
    global model
    if model is None:
        model = load_bigass_model_from_external_source() #this takes roughly 40 minutes
def get_model():
    return model
然后在我看来,我可以调用:
视图.py
from model import get_model
@blueprint.route("/", methods=["GET"])
def home():
        print get_model()
现在一切正常,除非我开始更改代码。Werkzeug 重新加载(这本身很好),但它也会再次加载我的模型。加载模型大约需要 40 分钟,因此您可以看到这不是很理想。
我想知道是否有任何方法可以让 Werkzeug 重新加载其他所有内容,但如果模型已加载一次,则将模型保留在内存中。
| 归档时间: | 
 | 
| 查看次数: | 400 次 | 
| 最近记录: |