Как реализовать глобальный класс в Django - PullRequest
0 голосов
/ 26 ноября 2018

В настоящее время я работаю над сетевой многопользовательской игрой, использующей каналы django и django для веб-сокетов.В настоящее время у меня настроен проект, в котором игроки отправляют данные на сервер, который затем обрабатывает эти данные в классе «GameManager», который обрабатывает всю игровую логику и взаимодействия между всеми игроками.Это прекрасно работает в моей среде разработки, но когда я попытался настроить свой проект для производства, мой глобальный класс "GameManager", похоже, не сохраняет свои данные в нескольких запросах.Я предполагаю, что, поскольку я использую gunicorn в своей производственной среде, мой проект django работает среди нескольких процессов, у каждого из которых есть свой экземпляр моих классов.

Мой вопрос заключается в том, как я могу реализовать какой-то видглобальный класс в django для обработки всей игровой логики, которая будет распределена между всеми запросами?Я не могу использовать сеансы, потому что мне нужны эти данные для ВСЕХ подключенных клиентов, и я скептически отношусь к использованию решения, такого как redis, потому что мне нужно было бы читать / записывать его несколько раз в секунду, поэтому сохраняя еговнутри Python помог бы мне держать все работает гладко.Любая помощь будет принята с благодарностью.

...