python - 访问变量而不在 Django 中的管理命令之间重新加载它们
问题描述
我们正在构建一个支持 AI 的 Web 应用程序,该应用程序使用巨大的内存模型,理想情况下,这些模型应该只在内存中作为全局变量加载一次。
这些变量将由不同的管理命令使用,这些命令作为单独的进程运行并利用 Django 框架。当然,runserver 命令也可以访问这些全局变量。
这些模型加载在单个模块commons中,但由于我们生成不同的进程,让我们现在假设两个 - runserver和process_tasks,这些模型本质上是通过commons模块在内存中加载两次。
有没有办法集中加载这些模型并在独立产生的进程之间共享变量。我知道 python 和 Manager API 中的多处理模块,但无法找到将它与当前场景结合的方法。
有没有办法运行一个独立的 python 进程来保存这些变量并能够从多个其他进程访问它们?
解决方案
我知道对此没有“适当”的解决方案。在将这些模型加载到 \schema.py 中后,我使用了一种粗略的方法来编写临时文件,然后将对象模型导入到我的“business_logic.py”中,检查文件是否存在,然后不要再次初始化模型。希望它可以帮助别人。
推荐阅读
- java - 如何使用带有 Spring JDBC 的 MERGE 语句插入/更新单个记录
- centos - /dev/mapper/centos_server2-root 已满
- logstash - Logstash 指纹过滤器不起作用
- javascript - JS。setInterval 不会增加外部范围内变量的值
- asp.net - 将实例的属性附加到 URL 路径 asp.net 的路由配置
- spring - Spring Jpa findBy 方法来获取最佳结果
- javascript - 手机上的签名板。从光标沿 X 和 Y 轴绘制几厘米的距离
- elasticsearch - 请求字符串和数字字段时的 Elasticsearch java.lang.NumberFormatExcepion
- python - PyQt5点击按钮:Python已停止运行
- c# - 如何找出我的应用程序实际可用的 RAM 量?