2012-04-23 84 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

相关问题