uwsgi+django怎么预加载模型

uwsgi+django项目中怎么预加载模型??
最近开发遇到几次这种问题,比如jieba
为了在项目启动时加载分词库,我把它提到全局
uwsgi+django怎么预加载模型
但是实际上项目启动时并没有去加载,会在第一次请求时加载,由于uwsgi设置了进程,使用到另一个进程时还会再加载一次。
有没有办法在项目启动时为多个进程都加载模型??


回答:

Django预加载. https://docs.djangoproject.com/en/4.0/ref/applications/

使用AppConfig.ready()即可。

from django.apps import AppConfig

from 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

回到顶部