uwsgi+django怎么预加载模型

新手上路,请多包涵

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

阅读 2.2k
1 个回答

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 周年「问答」打卡 ,欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题