我正在编写一个tornado web服务器,并试图防止它在一个函数上阻塞。在
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中调用,可能需要几秒钟才能完成。我同意,只要其他客户的请求可以同时处理。这在很大程度上是可行的,但是会在流关闭的某些连接上引发错误。在
不要用这种方式和龙卷风一起使用螺纹!在
如果您有繁重的任务需要线程使用celery。 如果任务很轻-把它交给gen。在
相关问题 更多 >
编程相关推荐