我使用flup作为Django的fastcgi服务器。
请向我解释我如何使用单身人士? 我不确定我是否理解Flup的穿线模型。
答案 0 :(得分:0)
如果你使用分叉服务器,你将无法拥有一个单例(至少没有单身的生命周期超过你的实际上下文)。
使用线程服务器,它应该是可能的(但我不是在Django和Web服务器中!)。
您是否尝试过这样的代码(作为附加模块):
# Singleton module
_my_singleton = None
def getSingleton():
if _my_singleton == None:
_my_singleton = ...
return _my_singleton
在树点(“...”)处,您必须添加编码以创建单个对象。
这还没有高效的代码,但您可以使用它来检查单例是否适用于您的框架。对于单身人士来说,只有手头有某种“全球存储”才有可能。分叉服务器使这更加困难。
在这种情况下,“正常的全局存储”不起作用,可用的可能性不同。您可以使用Pythons序列化设备将单例存储在文件系统上。但当然,这将是更多的开销!