作者:无视一个水阿哥_470 | 来源:互联网 | 2023-10-12 10:07
依赖库flask安装,使用豆瓣源加速。pipinstallflask-ihttps:pypi.douban.comsimplegevent安装,使用豆瓣源加速。pipinstall
依赖库
flask安装,使用豆瓣源加速。
pip install flask -i https://pypi.douban.com/simple
gevent安装,使用豆瓣源加速。
pip install gevent -i https://pypi.douban.com/simple
代码
#!/user/bin/env python # coding=utf-8 """ @project : testdemo @author : huyi @file : app.py @ide : pycharm @time : 2021-10-15 11:58:44 """ from flask import flask, request from gevent.pywsgi import wsgiserver from gevent import monkey import json # 将python标准的io方法,都替换成gevent中的同名方法,遇到io阻塞gevent自动进行协程切换 monkey.patch_all() app = flask(__name__) # 请求返回实体 class testresponse: def __init__( self, code, success, msg, data): self.code = code self.success = success self.msg = msg self.data = data @app.route('/progress', methods=['post']) def progress(): request_data = json.loads(request.data) print("进度回调:{}".format(request_data)) return json.dumps( testresponse(0, true, "progress callback success", none), default=lambda obj: obj.__dict__, sort_keys=true, indent=4) @app.route('/result', methods=['post']) def result(): request_data = json.loads(request.data) print("结果回调:{}".format(request_data)) return json.dumps( testresponse(0, true, "result callback success", none), default=lambda obj: obj.__dict__, sort_keys=true, indent=4) if __name__ == '__main__': print("遇事不决,可问春风。") wsgiserver(('0.0.0.0', 8383), app).serve_forever()
使用postman验证结果
总结
该代码架构简单有效,不用加过多繁重的东西。如果需要异步非阻塞接口调用的话,可以加个线程池,把执行内容扔个线程出去,一样适用。
如果python教程分享python http服务flask架构实用代码详解分析对你有帮助,请点个赞支持一下吧。
到此这篇关于python http服务flask架构实用代码详解分析的文章就介绍到这了,更多相关python http服务内容请搜索<编程笔记>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<编程笔记>!
需要了解更多python教程分享python http服务flask架构实用代码详解分析,都可以关注python教程分享栏目&#8212;编程笔记