如何使用Python Tornado构建一个线程安全的Request Handler

时间:2012-04-23 17:34:09

标签: python tornado

Tornado是否对单个RequestHandler同时处理的请求数量有任何保证?我正在考虑像这样管理会话数据:

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.session中的get()self.session中的prepare()相同时,这才有效。如果单个RequestHandler同时处理最多一个请求,那么这只会是真的。这是龙卷风的工作原理吗?

1 个答案:

答案 0 :(得分:10)

根据请求实例化

RequestHandler个。单个请求处理程序实例将在其生命周期中提供一个且仅一个请求


编辑:

以下是文档部分的链接,其中确认了我的声明: http://www.tornadoweb.org/documentation/overview.html#overriding-requesthandler-methods

参见第1项:在每个请求上创建一个新的RequestHandler对象