如何使用Python Flup fastcgi服务器制作单例类?
我使用 flup 作为 Django 的 fastcgi 服务器。
请向我解释一下如何使用单例? 我不确定我是否理解 Flup 的线程模型。
I use flup as fastcgi server for Django.
Please explain to me how can I use singleton?
I'm not sure I understand threading models for Flup well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用分叉服务器,您将根本无法拥有单例(至少没有比您的实际上下文寿命更长的单例)。
对于线程服务器,这应该是可能的(但我对 Django 和 Web 服务器不太感兴趣!)。
您是否尝试过这样的代码(作为附加模块):
当然,在树点(“...”)处,您必须添加编码来创建单例对象。
这还不是有效的代码,但您可以使用它来检查单例是否适用于您的框架。 对于单例来说,只有手头有某种“全局存储”才有可能。 分叉服务器使这变得更加困难。
在“正常全局存储”不起作用的情况下,还有另一种可能性。 您可以使用 Python 序列化工具将单例存储在文件系统上。 但当然,这实际上会带来更多的开销!
If you use a forked server, you will not be able to have a singleton at all (at least no singleton that lifes longer than your actual context).
With a threaded server, it should be possibe (but I am not so much in Django and Web servers!).
Have you tried such a code (as an additional module):
At the tree dots ("...") you have to add coding to create your singleton object, of course.
This is no productive code yet, but you can use it to check if singletons will work at all with your framework. For singletons are only possible with some kind of "global storage" at hand. Forked servers make this more difficult.
In the case, that "normal global storage" does not work, there is a different possibility available. You could store your singleton on the file system, using Pythons serialization facilites. But of course, this would be much more overhead in deed!