2011-01-10 66 views
3

我想摆脱CherryPy为我正在工作的Web服务和我正在考虑的一个替代方案是龙卷风。现在,我的大部分请求看在后端是这样的:龙卷风和阻止代码

  • GET POST数据

  • 看看我是否有它的缓存(数据库访问)

  • 如果不能使多个HTTP请求到一些其他网络服务,甚至可能需要几秒钟取决于请求的数量

我一直听说不应该阻止t他龙卷风主循环;我想知道是否所有上述代码在RequestHandlerpost()方法中执行,这是否意味着我阻止代码?如果是这样,根据上述要求使用龙卷风的适当方法是什么。

回答

1

Tornado附带异步(实际上是two iirc)http客户端(AsyncHTTPClient)。如果您需要执行额外的http请求,请使用该方法。

数据库查找也应该使用异步客户端来完成,以避免阻止龙卷风ioloop/mainloop。我知道有几个龙卷风量身定制的数据库客户端(例如redis,mongodb)。 mysql lib包含在龙卷风发行版中。