uwsgi+django怎么预加载模型
uwsgi+django项目中怎么预加载模型??
最近开发遇到几次这种问题,比如jieba
为了在项目启动时加载分词库,我把它提到全局
但是实际上项目启动时并没有去加载,会在第一次请求时加载,由于uwsgi设置了进程,使用到另一个进程时还会再加载一次。
有没有办法在项目启动时为多个进程都加载模型??
回答:
Django预加载. https://docs.djangoproject.com/en/4.0/ref/applications/
使用AppConfig.ready()
即可。
from django.apps import AppConfigfrom django.db.models.signals import pre_save
class RockNRollConfig(AppConfig):
# ...
def ready(self):
# importing model classes
from .models import MyModel # or...
MyModel = self.get_model('MyModel')
# registering signals with the model's string label
pre_save.connect(receiver, sender='app_label.MyModel')
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
以上是 uwsgi+django怎么预加载模型 的全部内容, 来源链接: utcz.com/p/938459.html