首页 新闻 会员 周边 捐助

sanic 工厂函数被加载俩次

0
悬赏园豆:10 [已解决问题] 解决于 2023-10-11 08:59

有没有用过sanic (一个python的web框架)的大佬啊,为什么他会执行俩次我的工厂函数,导致我写在工厂函数的模型会被加载俩次。(我照着常规flask项目组织的目录结构,工厂函数写在__init__里面),是因为Worker Manager 的问题吗,我现在使用--single-process解决了这个问题,但是我觉得不是最好的解决问题方式,想请教一下各位。有没有遇到同样问题的。

喝一鸡科了么呢的主页 喝一鸡科了么呢 | 初学一级 | 园豆:190
提问于:2023-09-06 10:58
< >
分享
最佳答案
0

sanic会开一个manage进程用来管理子进程,由于进程会把资源复制一份,所以我的模型对象也被复制了一份,所以占用了双倍资源。通过配置 single_process=True 使用单进程运行,放弃一些几乎用不上的附加功能来解决掉了这个问题。

喝一鸡科了么呢 | 初学一级 |园豆:190 | 2023-10-11 08:58
其他回答(1)
0

设置成单例模式应该就可以吧

收获园豆:10
liyx0618 | 园豆:214 (菜鸟二级) | 2023-09-06 17:30

他是开了俩个进程,所以我的模型被加载了俩次,多进程也可以写单例嘛

支持(0) 反对(0) 喝一鸡科了么呢 | 园豆:190 (初学一级) | 2023-09-07 08:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册