클라이언트가 토네이도를 사용하여 제공하는 파일의 다운로드를 성공적으로 완료 한 경우에만 정리 기능을 실행할 수 있기를 원합니다. 클라이언트가 토네이도 웹 서버에서 다운로드를 완료 한 후 어떻게 함수를 호출합니까?
나는 파이어 폭스 스로틀 도구를 설치하고 전화 접속 속도까지 연결을 느리게했고 쓰레기 임의의 텍스트의 무리 생성이 핸들러를 설치 :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"
내가 한 후 즉시 토네이도에서 다음과 같은 출력을 얻을를 요청 :
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"
나는 여기에 근본적인 뭔가를 놓치고 있습니까? 토네이도가 내가하려는 것을 지원할 수 있습니까? 그렇지 않다면 대안이 있습니까?
on_connection_close가 http 킵 얼라이브를 어떻게 처리합니까? 이 경우 요청이 연결간에 계속 연결됩니까? – Shabbyrobe