首页 > 解决方案 > 如何在 django 中实现一个全局类

问题描述

我目前正在使用用于 websockets 的 django 和 django 通道开发网络多人游戏。我目前设置了我的项目,玩家将数据发送到服务器,然后服务器在“GameManager”类中处理该数据,该类处理所有游戏逻辑和所有玩家之间的交互。这在我的开发环境中工作得非常好,但是当我尝试将我的项目设置为生产时,我的全局“GameManager”类似乎没有跨多个请求保留它的数据。我猜因为我在生产环境中使用 gunicorn,所以我的 django 项目在多个进程中运行,每个进程都有自己的类实例。

我的问题是如何在 django 中实现某种全局类来处理将在所有请求中共享的所有游戏逻辑?我不能使用会话,因为我需要所有连接的客户端共享此数据,并且我对使用诸如 redis 之类的解决方案持怀疑态度,因为我需要每秒多次读取/写入它,所以保留它在 python 中可以帮助我保持事情顺利进行。任何帮助将不胜感激。

标签: pythondjangodjango-channels

解决方案


推荐阅读