构建Flask应用程序时,实例化spaCy的正确位置是什么,或者就此而言,在请求中使用任何内存密集型对象?
spaCy的问题是加载大约需要15秒并占用大量内存。因此,为每个请求实例化它都没有意义。从好的方面来说,spaCy可能是线程安全的,因此它可以在每个进程中实例化一次并在其所有线程中使用。
我正在使用Flask 0.12。我主要使用工厂函数create_app()
重复使用flaskr演示应用程序,它收集所有蓝图并返回应用程序对象。还有wsgi.py
使用工厂函数创建变量app
。我使用该文件作为uWSGI的入口点。
那么最适合实例化spaCy的地方是什么,以便它在每个请求中都可见?
我应该在create_app()
中对其进行实例化并将其附加到app
吗?