使用Tornado和Python Eve进行非阻塞调用

时间:2016-10-16 14:50:01

标签: python tornado eve

我有龙卷风的夏娃应用程序。

http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)
IOLoop.instance().start()

我对我的API进行了一次调用,这需要很长时间,并在完成此过程后向用户发送邮件。 如何使呼叫无阻塞,以便用户不必等待。

由于 DC

1 个答案:

答案 0 :(得分:1)

Eve是用Flask编写的,所以设计它的阻塞代码并没有简单的方法让它神奇地无阻塞。在龙卷风中运行你的前夕项目也无济于事。但是,您可以使用gunicornhendrix分叉您的wsgi应用,充当代理,并使您的项目看起来像是以非阻塞的方式运行。但我建议使用异步/线程任务运行器(类似celery)来发送邮件。此方法将要求您使用任务运行器重写邮件功能。我希望这有帮助,如果没有,请提供一些代码所做的更多示例,也许我们可以提供帮助。