python http服務(wù)flask架構(gòu)實(shí)用代碼詳解分析
依賴庫
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自動(dòng)進(jìn)行協(xié)程切換
monkey.patch_all()
app = Flask(__name__)
# 請(qǐng)求返回實(shí)體
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("進(jìn)度回調(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驗(yàn)證結(jié)果

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

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

