本文根据模型端的上线经验,简要介绍调用 Flask 开启 Python 微服务的方法。
经验有限,仅作为笔记和代码分享。
调用第三方库:
import json
import traceback
from gevent import pywsgi
from flask import request, Flask
try:
from werkzeug.contrib.fixers import ProxyFix
except:
from werkzeug.middleware.proxy_fix import ProxyFix
声明 Flask 对象:
app = Flask(__name__)
微服务的主函数:
@app.route('/', methods=['POST']) # '/'后面为用户调用该微服务的后缀
def run():
print("receive a post request")
request_data = bytes.decode(request.data)
print("post content :" + request_data)
content = json.loads(request_data)
return run() # 微服务具体功能代码
主程序:
if __name__ == "__main__":
try:
print("服务启动")
app.wsgi_app = ProxyFix(app.wsgi_app)
app.wsgi_app = ProxyFix(app.wsgi_app)
app.config["JSON_SORT_KEYS"] = False
app.config["JSON_AS_ASCII"] = False # json中文处理
server = pywsgi.WSGIServer(("0.0.0.0", 8080), app) # 本机IP
server.serve_forever()
except:
print("服务启动失败" + traceback.format_exc())