Flask2.0.1启动流程
2021-09-07 16:57:09 0 举报
Flask2.0.1启动流程经过的调用栈
作者其他创作
大纲/内容
TCPServer.get_request()
__call__()
make_response()
werkzeug.serving.inner()
wsgi_app()
bind_to_environ()
finalize_request(rv)
server_activate()
create_url_adapter()
start_response()
execute()
RequestContext()
request_context()
process_response()
self.wfile.flush()
srv.serve_forever()
StreamRequestHandler.finish()
get_wsgi_response
full_dispatch_request()
关闭写文件管道和读文件管道
BaseWSGIServer.__init__()
BaseHTTPRequestHandler.handle()
save_session()
关闭本次创建的套接字
BaseServer.serve_forever()
返回值为ClosingIterator对象
self.wfile.write(data)
StreamRequestHandler.setup()
重点(poll机制)
werkzeug.serving.runsimple()
得到返回值rv,视图函数处理完后返回的字符串或Response对象
MapAdapter.match()
write()
finish_request()
server_bind()
app.run()
socket.socket()
app是Flask创建的,及实际是调用flask/app.py中的__call__函数
ctx.push()
dispatch_request()
werkzeug.seving.make_server
Response.__call__()
match_request()
MapAdapter()
process_request()
try_trigger_before_first_request_functions()
_handle_request_noblock()
TCPServer.shutdown_request()
Rule.match()
TCPServer.__init__()
StreamRequestHandler.handle()
Map.bind()
preprocess_request()
WSGIRequestHandler.run_wsgi()start_response()
run_wsgi()
BaseRequestHandler.__init__()
在这次请求连接的socket上创建一个读文件描述符和写文件描述符
WSGIRequestHandler.handle_one_request()
收藏
0 条评论
回复 删除
下一页