flask-源码-run

run

  • 下图为flask 执行 app.run()时的执行过程,并且当接收到请求时__call__的执行流程,flask的请求执行过程可以参照我写的 https://blog.csdn.net/DALAOS/article/details/113566518 request 执行流程
  • 如果和大家理解有出入可以私信我,来讨论正确流程
app run_simple() SharedDataMiddleware inner() BaseWSGIServer run run_simple(host, port, self, **options) SharedDataMiddleware(application, static_files) 返回application<SharedDataMiddleware obj> 执行inner() make_server make_server 返回一个srv<BaseWSGIServer> srv.serve_forever() srv.serve_forever() HTTPServer.serve_forever(self) make_server while not self.__shutdown_request 循环监听 如果当前我收到请求转发流程为 self._handle_request_noblock() self.process_request(request, client_address) self.finish_request(request, client_address) 猜测WSGIRequestHandler类 继承自BaseHTTPRequestHandler 可能实现了__call__方法HTTPServer self.RequestHandlerClass(request, client_address, self) <WSGIRequestHandler> loop [make_server] 执行__call__ 执行__call__ app run_simple() SharedDataMiddleware inner() BaseWSGIServer

猜你喜欢

转载自blog.csdn.net/DALAOS/article/details/113695691