Django/Flask 实现:在后台通过 HTTP 或 Socket 持续监听连接。
我现在正在计划一个网络应用,它需要持续监听一个开放的连接,并将特定的信息写入数据库。
为了熟悉flask(我选择的框架)和python,我想尝试一下twitter流媒体API。
其实,核心问题是一样的。如何为这两种连接实现一个永久的“连接监听器”?
下面提到的方法是实现这个功能的最佳方式吗?
我有点不喜欢在机器上实现一个系统守护进程的想法。
编辑:当然,我想通过HTTP向用户提供服务。所有这些都应该是非阻塞的。
2 个回答
5
如果你想让系统不阻塞,那么Flask和Django这两个框架本身都不能满足你的需求。你可以看看Twisted,因为它是目前最成熟的用于非阻塞输入输出的Python项目:http://twistedmatrix.com/trac/
Twisted提供了一套很不错的API,适合用来搭建基于socket的服务器。如果你需要和一个“普通”的网页应用结合,Django可能是最好的选择,因为我觉得还没有人做过Twisted和Flask的结合(我可能错了,只是没见过)。这里有一个链接,讲解了如何在同一个环境中设置Django和Twisted:http://dreid.org/2009/03/twisted-django-it-wont-burn-down-your.html/
注意:不需要任何系统守护进程;)