我是 Twisted 的新手,我不明白为什么在运行脚本时会出现此错误。\
基本上,脚本由 2 个页面组成,第一个是一个 HTML 表单,它调用自己执行一个阻塞方法并显示结果。当请求同时发送到服务器时,我收到此错误:
exceptions.RuntimeError: Request.write 在调用 Request.finish 后调用请求
你知道它来自哪里吗?
class FormPage(Resource):
def render_GET(self, request):
return
<html>
<body>
<form method="POST">
<input name="the-field" type="text" />
<input type='submit' name='Get udl' />
</form>
</body>
</html>
def render_POST(self, request):
deferred= deferToThread(my_blocking_method, arg1, arg2)
deferred.addCallback(self.print_success, request)
deferred.addCallback(self.print_failure, request)
return NOT_DONE_YET
def print_success(self, result, request):
request.write('Request executed successfully')
request.finish()
def print_failure(self, err, request):
request.write(str(err))
request.finish()
def run()
root = Resource()
root.putChild("form", FormPage())
factory = Site(root)
reactor.listenTCP(8880, factory)
reactor.run()