无阻塞Django?

2024-10-01 13:29:34 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

用django和python怎么做呢?在


Tags: 文件orgwebhttp示例二进制事件exe
3条回答

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

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

看看Twisted-它是一个事件驱动的Python网络引擎,它还构建了一些web应用程序框架。在

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

相关问题 更多 >