【发布时间】:2020-03-29 07:47:07
【问题描述】:
我们正在构建一个支持 AI 的 Web 应用程序,该应用程序使用巨大的内存模型,理想情况下,这些模型应该只在内存中作为全局变量加载一次。
这些变量将由不同的管理命令使用,这些命令作为单独的进程运行并利用 Django 框架。当然,runserver 命令也可以访问这些全局变量。
这些模型加载在单个模块 commons 中,但由于我们生成不同的进程,所以我们现在假设两个 - runserver 和 process_tasks,这些模型本质上是通过 commons 模块在内存中加载两次。
有没有办法集中加载这些模型并在独立产生的进程之间共享变量。我知道 python 和 Manager API 中的多处理模块,但无法找到将其与当前场景结合的方法。
有没有办法运行一个独立的 python 进程来保存这些变量并能够从多个其他进程访问它们?
【问题讨论】:
-
有many approaches to implement IPC,你必须弄清楚哪一个最适合你的需求。
标签: python django shared-memory