我看到一个奇怪的错误,我在模块范围内创建的变量(例如,在定义任何类或函数之前在文件顶部)随着时间的推移表现不同。这个变量(我们称之为_cache
)被拉入我的类:
_cache = None
class XMLGenerator(object):
global _cache
def __init__(self, parms):
if _cache is None:
_cache = expensive_query(parms)
此缓存的结果可能会有所不同,具体取决于进入 Web 服务的请求的上下文,但我看到在对同一服务的调用之间生成的 XML 输出中的行为不同:我可以重新启动服务器,一切都很好,但是最终异常行为再次开始。
uWSGI 是否以某种方式在请求之间保留状态?