2011-11-17 43 views
1

当试图从龙卷风GET方法获取数据时,如果我们需要返回一个结果,那么调用必须是一个阻塞调用,它将一个值返回给客户端(如果我们从某个第三方获取数据,结果变得更加延迟,并且呼叫在此之前被阻止)。龙卷风 - 非阻塞调用返回GET值?

有没有一种方法可以将处理后的值返回给客户端,并且在Tornado中仍然有非阻塞调用?

+0

刚刚意识到我的代码使用的是使用urllib2的amazon产品api包装器,因此调用都是阻塞的。任何替代品。我不想因为这个原因重新编写包装。 –

+0

是猴子修补urllib解决这个问题? –

回答

0

正如Sushant Khurana所建议的那样,您可以“修补”urllib2。幸运的是,你不必自己动手:someone else has done it for you

退房eventlethttp://eventlet.net/doc/index.html

它基本上实现了socketurllib2asyncore等 看看它的文档和this blog post自己的异步版本。

我从来没有用过它,但它看起来很有前途!

+0

很抱歉为了接受Ibolla。我认为这可能是总结它的最佳解决方案。 –

+0

博客文章链接已损坏 – 2015-09-09 05:26:02