Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.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 我可以使用uwsgi+;(龙卷风、火山口等)同时发生?_Python_Django_Tornado_Uwsgi - Fatal编程技术网

Python 我可以使用uwsgi+;(龙卷风、火山口等)同时发生?

Python 我可以使用uwsgi+;(龙卷风、火山口等)同时发生?,python,django,tornado,uwsgi,Python,Django,Tornado,Uwsgi,为什么??因为我有一个django项目,它从用户那里捕获数据,并使用许多Web服务向用户显示结果以比较信息,就像聚合器网站一样,通过航空公司Web服务搜索机票并实时显示结果以比较机票 现在,我在一个“等待页面”中这样做,芹菜点击Web服务,而jquery每5秒询问一次是否所有结果都准备好了,所以准备好后重定向到结果页面 我想做的是不要使用这个“等待页面”,我想在结果提交时实时输入结果页面,并且我想让它遵循最佳实践,我的意思是我不想jquery每X秒获得一次结果来输入表 我想一些基于协同程序的py

为什么??因为我有一个django项目,它从用户那里捕获数据,并使用许多Web服务向用户显示结果以比较信息,就像聚合器网站一样,通过航空公司Web服务搜索机票并实时显示结果以比较机票

现在,我在一个“等待页面”中这样做,芹菜点击Web服务,而jquery每5秒询问一次是否所有结果都准备好了,所以准备好后重定向到结果页面

我想做的是不要使用这个“等待页面”,我想在结果提交时实时输入结果页面,并且我想让它遵循最佳实践,我的意思是我不想jquery每X秒获得一次结果来输入表

我想一些基于协同程序的python库可以帮我解决这个问题,但我想先了解更多关于您的经验并看一些示例,我感到困惑,因为项目的这一部分设计为异步运行,我的意思是,使用带有芹菜和弦的Web服务,但不是为通过应用服务器实时发送信息而设计的

实际架构: python 2.7、django 1.3、postgresql 9、芹菜3+redis、uwsgi、nginx,所有这些都托管在aws上


提前感谢您。

uWSGI+gevent是一个可靠的组合,而目前还没有办法使用tornado api运行uWSGI(由于uWSGI在1.9中放弃了对基于回调的方法的支持,我认为我们永远不会看到该组合起作用)


在开始使用gevent之前,您需要解决的问题是确保您的所有部件都是gevent友好的(redis和芹菜都可以,您需要检查数据库适配器)。在此之后,只需将--gevent添加到您的uWSGI实例中,其中是每个工作者的最大并发请求数。

我不知道uWSGI+gevent,但您可以将tornado与uWSGI一起使用。Tornado基本上在Tornado.WSGI.WSGIContainer模块中为您提供了内置的WSGI支持,以使其与其他WSGI服务器(如uWSGI和gunicorn)紧密结合。但这取决于您的使用情况,我认为将异步框架与同步服务器(如uWSGI)结合使用不是一个好主意。龙卷风对此发出了警告

WSGI是一个同步接口,而Tornado的并发模型基于单线程异步执行。这意味着使用Tornado的WSGIContainer运行WSGI应用程序的可伸缩性不如在多线程WSGI服务器(如gunicorn或uwsgi)中运行相同的应用程序。仅当在同一流程中结合Tornado和WSGI带来的好处超过了降低的可伸缩性时,才使用WSGIContainer


对于回复,那么postgresql9 psycopg2==2.4.1呢?你认为绿色友好吗s