首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非阻塞django?

非阻塞django?
EN

Stack Overflow用户
提问于 2014-01-26 18:26:43
回答 3查看 4K关注 0票数 10

在工作中,我不允许将perl用于web服务。但是,允许使用Python。

我需要做的是提供一些非常慢的c++二进制文件的结果。每个exe运行时间长达20秒。在perl中,我只使用mojolicious的非阻塞事件循环(这里给出了一个example.of。http://blogs.perl.org/users/joel_berger/2014/01/writing-non-blocking-applications-with-mojolicious-part-3.html )

如何使用django和python来做到这一点呢?

EN

回答 3

Stack Overflow用户

发布于 2014-01-26 18:34:45

Tornado使用非阻塞IO,其概念与perl或node js事件循环、每个线程多任务等概念相同。

票数 6
EN

Stack Overflow用户

发布于 2014-01-26 18:33:37

使用Django可能不太可能,因为整个框架都需要专门为在事件循环中运行而构建。在事件驱动框架中,需要使用回调实现慢操作(例如I/O ),以便可以将实际的I/O卸载到事件循环本身,并且只有在操作完成时才调用回调;Django不是这样实现的。

看看Twisted --它是一个事件驱动的网络引擎,也有一些构建在它之上的web应用框架。

票数 4
EN

Stack Overflow用户

发布于 2014-01-26 18:57:35

看看A clean, lightweight alternative to Python's twisted吧。我会选择gevent作为web应用程序,因为它与uWSGI一起运行-- Python代码运行的最通用的web服务器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21362267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档