如何使用Python Flup fastcgi服务器创建单例类?

时间:2009-03-16 13:55:46

标签: python django flup

我使用flup作为Django的fastcgi服务器。

请向我解释我如何使用单身人士? 我不确定我是否理解Flup的穿线模型。

1 个答案:

答案 0 :(得分:0)

如果你使用分叉服务器,你将无法拥有一个单例(至少没有单身的生命周期超过你的实际上下文)。

使用线程服务器,它应该是可能的(但我不是在Django和Web服务器中!)。

您是否尝试过这样的代码(作为附加模块):

# Singleton module
_my_singleton = None

def getSingleton():
   if _my_singleton == None:
      _my_singleton = ...
   return _my_singleton

在树点(“...”)处,您必须添加编码以创建单个对象。

这还没有高效的代码,但您可以使用它来检查单例是否适用于您的框架。对于单身人士来说,只有手头有某种“全球存储”才有可能。分叉服务器使这更加困难。

在这种情况下,“正常的全局存储”不起作用,可用的可能性不同。您可以使用Pythons序列化设备将单例存储在文件系统上。但当然,这将是更多的开销!