龙卷风和阻止代码

时间:2011-01-10 14:44:11

标签: python tornado

我正在尝试从CherryPy转移到我正在处理的Web服务,而我正在考虑的另一种选择是Tornado。现在,我的大部分请求都在后端看起来像:

  • 获取POST数据

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

  • 如果没有向其他某些Web服务发出多个HTTP请求,这可能需要几秒钟,具体取决于请求的数量

我一直听说不应该阻止龙卷风主循环;我想知道上述所有代码是否都在post()的{​​{1}}方法中执行,这是否意味着我阻止了代码?如果是这样,使用龙卷风符合上述要求的适当方法是什么。

1 个答案:

答案 0 :(得分:1)

Tornado附带一个异步(two iirc)http客户端(AsyncHTTPClient)。如果您需要执行其他http请求,请使用该文件。

还应使用异步客户端完成数据库查找,以便不阻止龙卷风ioloop / mainloop。我知道有一些龙卷风量身定制的数据库客户端(例如redismongodb)。 mysql lib包含在龙卷风发行版中。