你如何编写可以同时接受多个客户端的龙卷风Web服务器?

时间:2012-06-26 14:42:32

标签: python multithreading asynchronous callback tornado

我正在写一个龙卷风网络服务器,我试图阻止它在一个功能上阻塞。

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()

分析在t中调用,可能需要几秒钟才能完成。只要其他客户端请求可以同时处理,我就可以了。这大部分都有效,但会在流关闭的某些连接上抛出错误。

1 个答案:

答案 0 :(得分:0)

不要以这种方式使用龙卷风!

如果您有繁重的任务需要线程 - 请使用celery。 如果任务很轻 - 只需将其交给gen