python http服務flask架構實用代碼詳解分析
更新時間:2021年10月27日 17:05:45 作者:劍客阿良_ALiang
本篇文章主要分享一個python的簡單http服務flask架構。目前主流的python的服務框架有django、flask,相較于django來說,flask更小巧玲瓏。至于并發(fā)的問題,使用了gevent協(xié)程io進行處理
依賴庫
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自動進行協(xié)程切換
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("進度回調(diào):{}".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("結果回調(diào):{}".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驗證結果

總結
該代碼架構簡單有效,不用加過多繁重的東西。如果需要異步非阻塞接口調(diào)用的話,可以加個線程池,把執(zhí)行內(nèi)容扔個線程出去,一樣適用。
如果本文對你有幫助,請點個贊支持一下吧。

到此這篇關于python http服務flask架構實用代碼詳解分析的文章就介紹到這了,更多相關python http服務內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用Yagmail庫實現(xiàn)自動化郵件營銷
在數(shù)字營銷領域,自動化郵件營銷是一種高效、低成本的方式,能夠幫助企業(yè)與客戶保持溝通,提升品牌忠誠度,而Yagmail是一個簡潔且功能強大的Python庫,可以大大簡化郵件發(fā)送的過程,本文將詳細介紹如何使用Yagmail庫來實現(xiàn)自動化郵件營銷,需要的朋友可以參考下2024-12-12
python調(diào)用webservice接口的實現(xiàn)
這篇文章主要介紹了python調(diào)用webservice接口的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07
Python?paddleocr快速使用及參數(shù)配置詳解
PaddleOCR是基于PaddlePaddle深度學習框架的開源OCR工具,但它提供了推理模型/訓練模型/預訓練模型,用戶可以直接使用推理模型進行識別,也可以對訓練模型或預訓練模型進行再訓練,這篇文章主要介紹了Python?paddleocr快速使用及參數(shù)詳解,需要的朋友可以參考下2024-06-06

