我使用的是龙卷风。 我有一大堆的异步请求处理程序。 他们中的大多数做他们的工作异步,然后是工作的结果报告给用户。 但我有一个处理程序的工作就是简单地告诉他们的要求是要在未来的某一时刻要处理的用户。 我完成HTTP连接,然后做更多的工作。 下面是一个无足轻重例如:
class AsyncHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous
def get(self, *args, **kwargs):
# first just tell the user to go away
self.write("Your request is being processed.")
self.finish()
# now do work
...
我的问题是:这是一个合法使用龙卷风? 请问self.finish()后的代码运行可靠? 我从来没有与它有一个问题,但现在我在我的开发环境,一个看到一个与它的问题(不是全部)。 有许多在这里的变通办法,我已经明确了,但我要确保我不会失去了一些东西在龙卷风请求生命周期的基础。 虽然目前没有似乎是一个原因,我将无法调用self.finish()后运行代码,但也许我错了。
谢谢!