0
This page은 응답이 생성되기 전에 클라이언트가 손실 된 경우 에 대한 연결이 끊어 질 때 발생하는 오류 복구를 설정하는 방법을 설명합니다.klein을 사용하여 중단 된 응답에서 오류 복구를 얻는 방법은 무엇입니까?
klein을 사용하여 비슷한 작업을 수행 할 수있는 방법이 있습니까? 참조 된 페이지의 코드가 아래에 있으며 twisted.web과 작동합니다. 나는 다음과 같은 것을 원합니다 : request.notifyFinish().addErrback(self._responseFailed, call)
요청이 끝나지 않을 때 errback을 발생시키는 코드는 클라인과 작동합니다.
from twisted.web.resource import Resource
from twisted.web.server import NOT_DONE_YET
from twisted.internet import reactor
class DelayedResource(Resource):
def _delayedRender(self, request):
request.write("<html><body>Sorry to keep you waiting.</body></html>")
request.finish()
def _responseFailed(self, err, call):
call.cancel()
def render_GET(self, request):
call = reactor.callLater(5, self._delayedRender, request)
request.notifyFinish().addErrback(self._responseFailed, call)
return NOT_DONE_YET
resource = DelayedResource()
질문에 답변 해 주셔서 감사합니다. 나는 클라인이나 심지어 바닐라 꼬인 웹 예제를 사용하여 발견했습니다 _responseFailed는 호출되지 않습니다. 요청이 이스케이프 처리로 중단되면 오류 복구가 호출되지 않습니다. –