0

私はtornadoWebサーバーを作成していて、1つの機能でブロックされないようにしようとしています。

class TokenHandler(tornado.web.RequestHandler):
    @tornado.web.asynchronous
    def post(self):
        global t
        email = self.get_argument("text")
        thread = MetaToken.ExeThread(email,t,self._on_response)
        thread.start()
        #data = t.analyze(email)


    def _on_response(self,json):
        self.write(json)
        self.finish()

Analyzeはtで呼び出され、完了するまでに数秒かかる場合があります。他のクライアントのリクエストを同時に処理できる限り、私はそれで大丈夫です。これはほとんどの部分で機能しますが、ストリームが閉じているというエラーを一部の接続でスローします。

4

1 に答える 1

0

このように竜巻でスレッドを使用しないでください!

スレッドを必要とする重いタスクがある場合は、セロリを使用してください。タスクが軽い場合は、 genに渡してください。

于 2012-06-27T09:02:20.153 に答える