flask-restful接口代码
核心是用gunicorn里面配置好的对象,去其他文件打印,就会自动映射,gunicorn_logger = logging.getLogger(‘gunicorn.error’)
import logging
from flask import Flask
from flask_restful import reqparse, Api, Resource
from flask_cors import *
from prometheus_flask_exporter import PrometheusMetrics
from semantics_match import SimilarityVec
from config_env.config_envi import common, top_k
app = Flask(__name__)
app.config["JSON_AS_ASCII"] = False
app.config["RESTFUL_JSON"] = {
'ensure_ascii': False}
CORS(app, supports_credentials=True)
api = Api(app)
metrics = PrometheusMetrics(app)
Todos = {
'task': 'xx',
}
parser = reqparse.RequestParser()
parser.add_argument('id')
parser.add_argument('business_code')
parser.add_argument('question')
parser.add_argument('top_k', default=top_k, type=int)
parser.add_argument('simi_thr', default=common['simi_thr'], type=float)
parser.add_argument('init')
# Todo
# shows a single todo item and lets you delete a todo item
similarity_vec = SimilarityVec()
gunicorn_logger = logging.getLogger('gunicorn.error')
# 查找
class SimilarityRec(Resource):
"""
pass
"""
def get(self):
return {
'task': Todos.get('task')}
def post(self):
args = parser.parse_args()
results = similarity_vec.simi_search(args['question'],
args['top_k'],
args['simi_thr'],
args['business_code'],
common['key_1'])
# app.logger.info('input:{}'.format(str(args)) + '\n' + 'output:<