diff --git a/AIMeiSheng/docker_demo/http_server.py b/AIMeiSheng/docker_demo/http_server.py index ffa160e..d4e7c85 100644 --- a/AIMeiSheng/docker_demo/http_server.py +++ b/AIMeiSheng/docker_demo/http_server.py @@ -1,84 +1,83 @@ # -*- coding: UTF-8 -*- """ SVC处理逻辑 1. 根据跟定的vocal_url 判别男女 2. 根据男女信息选择适合的男女url 3. 模型推理 """ import gc import os import sys sys.path.append(os.path.dirname(__file__)) sys.path.append(os.path.join(os.path.dirname(__file__), "../")) import json import time import socket import logging import hashlib from flask import Flask, jsonify, request, abort from redis_helper import RedisHelper from common import * # 全局设置 hostname = socket.gethostname() -log_file_name = f"/tmp/av_meisheng_http_{hostname}.log" -logging.basicConfig(filename=log_file_name, format='%(asctime)s %(levelname)s %(message)s', datefmt='%Y-%m-%d %I:%M:%S', - level=logging.INFO) +# log_file_name = f"/tmp/av_meisheng_http_{hostname}.log" +logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', datefmt='%Y-%m-%d %I:%M:%S', level=logging.INFO) app = Flask(__name__) class HttpServer: def __init__(self, redis_conf, server_conf): self.redis_helper = RedisHelper(redis_conf) self.server_conf = server_conf def process(self, in_data): msg = { "status": gs_err_code_params, "schedule": 100, "gender": "unknown", "target_song_url": "", } if not check_input(in_data): return msg if self.redis_helper.llen(self.server_conf["producer"]) > 10: msg["status"] = gs_err_code_too_many_connections return msg distinct_id = hashlib.md5(in_data["record_song_url"].encode()).hexdigest() distinct_key = self.server_conf["ai_meisheng_key_prefix"] + distinct_id if not self.redis_helper.exists(distinct_key): msg["status"] = gs_err_code_pending self.redis_helper.set(distinct_key, json.dumps(msg)) self.redis_helper.lpush(self.server_conf["producer"], json.dumps(in_data)) self.redis_helper.expire(distinct_key, 15) msg = self.redis_helper.get(distinct_key) return json.loads(msg) gs_http_server = HttpServer(gs_redis_conf, gs_server_redis_conf) @app.route("/ai_meisheng", methods=["POST"]) def ai_meisheng(): data = request.json st = time.time() logging.info(f"ai_meisheng:in:{data}") msg = gs_http_server.process(data) json_msg = jsonify(msg) logging.info(f"ai_meisheng:out:{data}-{json_msg}, sp={time.time() - st}") return json_msg if __name__ == "__main__": app.run(host='0.0.0.0', port=5000, threaded=False)