Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django/Flask实现:通过HTTP或套接字永久侦听连接。(背景)_Python_Twitter_Background_Observer Pattern_Flask - Fatal编程技术网

Python Django/Flask实现:通过HTTP或套接字永久侦听连接。(背景)

Python Django/Flask实现:通过HTTP或套接字永久侦听连接。(背景),python,twitter,background,observer-pattern,flask,Python,Twitter,Background,Observer Pattern,Flask,我目前正在计划一个web应用程序,它需要永久监听打开的套接字连接,并将特定内容写入数据库 为了让flask(我选择的框架)和python了解一般情况,我想使用twitter流式api 本质问题也是如此。如何为这两种连接实现永久的“连接侦听器” 下面建议的方法是最好的方法吗 我不喜欢在机器上实现系统deamon的想法 编辑:当然我想通过HTTP向用户提供服务。所有这些都应该是非阻塞的。如果您希望系统是非阻塞的,那么Flask或Django都不会以本机方式提供您需要的支持。您可能应该看看Twist

我目前正在计划一个web应用程序,它需要永久监听打开的套接字连接,并将特定内容写入数据库

为了让flask(我选择的框架)和python了解一般情况,我想使用twitter流式api

本质问题也是如此。如何为这两种连接实现永久的“连接侦听器”

下面建议的方法是最好的方法吗

我不喜欢在机器上实现系统deamon的想法


编辑:当然我想通过HTTP向用户提供服务。所有这些都应该是非阻塞的。

如果您希望系统是非阻塞的,那么Flask或Django都不会以本机方式提供您需要的支持。您可能应该看看Twisted,因为它是用于非阻塞IO的最成熟的python项目:

它为基于套接字的服务器提供了一套可靠的API。如果您需要与“常规”Web应用程序集成,最好的选择是Django,因为我不相信有人做过TwistedFlask集成(我可能错了,只是没见过)。下面的链接解释了如何在同一环境中设置Django和Twisted:

注意:不需要系统守护程序;)

我建议使用开放式套接字执行基于事件的操作


python中处理twitter实时api的其他选项是和。

感谢您的链接。(Django+Twisted集成)。我以前知道twisted,但从未尝试过,因为我总是听说它的学习曲线很陡。我想我将尝试flask集成,因为flask是100%wsgi兼容的,而且链接似乎只使用twisted的wsgi处理程序。我们拭目以待。据我所知,webapp(django/flask)将在同步/阻塞模式下运行(而不是asnync,magic monkeypatch)对吧?是的,使用非阻塞IO系统开发webapp仍然是一个相当年轻的概念。Django还没有做到这一点——在当前的系统中,所有的异步操作都是一个令人头痛的问题(尽管node.js并不太糟糕,如果你不介意Javascript的话)。