2012-04-23 87 views
2

Tornado是否確保有多少個請求由單個RequestHandler併發處理?我想有關管理這樣的會話數據:如何使用Python Tornado構建線程安全的請求處理程序

class MyHandler(tornado.web.RequestHandler): 
    def prepare(self): 
    self.session = load_session_from_memcached 

    def get(self): 
    # work with self.session 

    def on_finish(self): 
    save_session_to_memcached(self.session) 

但是,這隻會工作,如果self.sessionget()是相同prepare()self.session。只有一個RequestHandler最多同時處理一個請求,情況纔會如此。這是龍捲風如何運作?

回答

9

RequestHandler s是根據請求實例化的。一個請求處理程序實例將成爲唯一一個在其一生中的請求


編輯:

下面是這印證我的上述聲明是文檔的一部分的鏈接: http://www.tornadoweb.org/documentation/overview.html#overriding-requesthandler-methods

見第1項:每個請求上都創建一個新的RequestHandler對象

+0

謝謝!我收到了Tornado用戶郵件列表的類似回覆,但是SO不會讓我回答自己的問題。 – 2012-04-24 15:59:20

+0

這個鏈接現在已經過時了(好吧,無論如何 - 我不太熟悉W/Tornado說沒有一些時間吸收)。 – Greg 2017-08-07 00:57:20

相關問題