2012-04-23 16 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) 

しかし、これが唯一のget()self.sessionprepare()self.sessionと同じであれば動作するように起こっている:私はこのようなセッションデータを管理することを考えています。これは、単一のRequestHandlerが最大で1つの要求を同時に処理する場合にのみ当てはまります。これは竜巻の仕組みですか?

答えて

9

RequestHandlerは、要求ごとにインスタンス化されます。単一の要求ハンドラインスタンスは1とその生涯で唯一の要求


編集機能します: http://www.tornadoweb.org/documentation/overview.html#overriding-requesthandler-methods

参照:

をここに上記の私の文を確認し、文書の一部へのリンクがあります項目1:リクエストごとに新しいRequestHandlerオブジェクトが作成される

+0

ありがとう!私はTornadoのユーザーメーリングリストから同様の回答を受けましたが、私は自分自身の質問に答えることはできません。 –

+0

このリンクは現在廃止されています(とにかく、壊れました - 私は覚えていないと思います。 – Greg

関連する問題