python http服務(wù)flask架構(gòu)實用代碼詳解分析
依賴庫
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標(biāo)準(zhǔn)的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("結(jié)果回調(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("遇事不決,可問春風(fēng)。")
WSGIServer(('0.0.0.0', 8383), app).serve_forever()
使用postman驗證結(jié)果

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

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

