2011-01-10 64 views
3

我想擺脫CherryPy爲我正在工作的Web服務和我正在考慮的一個替代方案是龍捲風。現在,我的大部分請求看在後端是這樣的:龍捲風和阻止代碼

  • GET POST數據

  • 看看我是否有它的緩存(數據庫訪問)

  • 如果不能使多個HTTP請求到一些其他網絡服務,甚至可能需要幾秒鐘取決於請求的數量

我一直聽說不應該阻止t他龍捲風主循環;我想知道是否所有上述代碼在RequestHandlerpost()方法中執行,這是否意味着我阻止代碼?如果是這樣,根據上述要求使用龍捲風的適當方法是什麼。

回答

1

Tornado附帶異步(實際上是two iirc)http客戶端(AsyncHTTPClient)。如果您需要執行額外的http請求,請使用該方法。

數據庫查找也應該使用異步客戶端來完成,以避免阻止龍捲風ioloop/mainloop。我知道有幾個龍捲風量身定製的數據庫客戶端(例如redis,mongodb)。 mysql lib包含在龍捲風發行版中。