Python 客户端完成从tornado web服务器下载后,如何调用该函数?
我希望能够运行一些清理功能,当且仅当客户端成功完成下载我使用Tornado提供的文件时 我安装了firefox throttle工具,让它将连接速度降低到拨号速度,并安装了此处理程序以生成一堆垃圾随机文本:Python 客户端完成从tornado web服务器下载后,如何调用该函数?,python,tornado,Python,Tornado,我希望能够运行一些清理功能,当且仅当客户端成功完成下载我使用Tornado提供的文件时 我安装了firefox throttle工具,让它将连接速度降低到拨号速度,并安装了此处理程序以生成一堆垃圾随机文本: class CrapHandler(BaseHandler): def get(self, token): crap = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in ra
class CrapHandler(BaseHandler):
def get(self, token):
crap = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(100000))
self.write(crap)
print "done"
发出请求后,我立即从tornado获得以下输出:
done
I 100524 19:45:45 web:772] 200 GET /123 (192.168.45.108) 195.10ms
然后,客户端缓慢地下载大约20秒。我希望它会在客户端完成后打印“完成”
此外,如果我做以下操作,我会得到几乎相同的结果:
class CrapHandler(BaseHandler):
@tornado.web.asynchronous
def get(self, token):
crap = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(100000))
self.write(crap)
self.finish()
print "done"
我是不是错过了一些基本的东西?龙卷风能支持我所做的吗?如果没有,是否有其他替代方法?我相信您正在寻找可以覆盖的请求处理程序方法中运行的东西 请记住,如果您在nginx后面运行,tornado将立即响应nginx,nginx将缓慢响应客户端
另外,请记住,添加
@tornado.web.asynchronous
实际上并不会使请求异步。它只是将请求设置为使用tornado.http.AsyncHTTPClient
我相信您正在寻找可以覆盖的请求处理程序方法中运行的东西
请记住,如果您在nginx后面运行,tornado将立即响应nginx,nginx将缓慢响应客户端
另外,请记住,添加
@tornado.web.asynchronous
实际上并不会使请求异步。它只设置了使用tornado.http.AsyncHTTPClient的请求
on\u connection\u close如何处理http keepalives?在这种情况下,请求之间的连接是否会保持打开状态?on_connection_close如何处理http keepalives?在这种情况下,请求之间的连接是否保持打开状态?