gpt4 book ai didi

python - Django mod-wsgi 一个类对象的多个实例

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:16 33 4
gpt4 key购买 nike

我目前正在使用 DJango - apache 安装(在 mod_wsgi 上)来运行一个网站(项目),该网站托管一个内联网纸牌游戏,其规则非常复杂,每个游戏只需要 1 个主列表 + 字典的分数数据结构用户。单个用户的分数也可能受到其他用户操作的影响。我正在使用在 urls.py 中实例化的 Score 类,所有玩家/用户都访问该类的对象 [scObj = Scorer('Spades') ]。在这个 obj 内部有玩家 Action 、分数更新等的字典。

    class Scorer:
def __init__(self, suitname):
self.__suitname = suitname

scorer类单独存储在Scorer.py中

    scObjs = (Scorer('Spades'), Scorer('Hearts'), Scorer('Clubs'), Scorer('Diamonds'),)

对象是在 urls.py 中创建的

该模型在 DEV 部署中完美运行。当我转移到 apache 中的 PROD 时,这打破了(因为正在创建 scObj 的多个实例,因此玩家 1 在玩家 2 上的移动的分数更新不会反射(reflect)在玩家 3 在玩家 2 上的不同移动中)。我需要模拟单例类行为/全局 scObj 行为,但我无法做到。我在worker - mpm - 多线程模式下运行apache,所以我假设不存在由于多进程而存在多个scObj副本的问题。

问题与 mod_wsgi 有关吗?

最佳答案

阅读:

http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading

使用嵌入式模式,UNIX系统上无论是worker MPM还是prefork MPM都将是多进程的。

使用守护进程模式和默认的单进程应该没问题。

请参阅该文档末尾的注释,了解有关在必要时使用适当的数据库存储的信息。另请注意有关多线程访问数据的警告并确保代码线程安全。

关于python - Django mod-wsgi 一个类对象的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236766/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com