老师你好。
业务需要,
我需要预先加载一些类
但这些类初始化的时间就需要2-3秒。
我将这些类初始化后的结果写到了全局变量里,settings里,还有在views.py的最上边。
我发现
我python manage.py runserver 是没问题的,节省了很多的时间
(内存很大,便宜,不考虑占用内存问题)
但是
uwsgi --ini uwsgi的配置文件启动
每次请求来了,才会加载这些类
搜索引擎查找问题答案,
发现
两种启动方式 加载各模块的执行顺序是不同的。
uwsgi 请求到来后,才会加载urls views
预热请求一次后,才会加载到内存中了,但是过段时间会没有的,应该是uwsgi重启了那个进程。
我是需要预加载的东西,写到wsgi.py里?
这个感觉不太好,不知道能不能解决我的问题。
说的可能不太清晰,
就是
加载一个变量A = dlib.get-frontal-face-deterctor
加载 应该 变量B = dlib.shape-predictor('xxx.dat')
然后views里会有引用,提前加载 会节省很多时间
因为wsgi启动的特性,导致该进程的第一次请求会很慢。