admin
2024-05-22 4ee1bd5de9ca76a69adac6e17a11bd686c742ef3
middle_server.py
@@ -1,4 +1,5 @@
import builtins
import copy
import hashlib
import json
import logging
@@ -10,17 +11,34 @@
import time
import constant
import log
import socket_manager
from db import mysql_data
from db.redis_manager import RedisUtils, RedisManager
from log import logger_debug, logger_request_debug
from log_module import log
from log_module.log import logger_debug
from middle_l1_data_server import L1DataManager
from output import push_msg_manager
from trade import huaxin_trade_api
from utils import socket_util, kpl_api_util, hosting_api_util, kp_client_msg_manager, global_data_cache_util, tool
from utils.juejin_util import JueJinHttpApi
trade_data_request_queue = queue.Queue()
__mysql_config_dict = {}
def get_mysql_config(db_name):
    """
    获取mysql的配置
    :param db_name:
    :return:
    """
    if db_name in __mysql_config_dict:
        return __mysql_config_dict.get(db_name)
    config = copy.deepcopy(constant.MYSQL_CONFIG)
    config["database"] = db_name
    __mysql_config_dict[db_name] = config
    return config
class MyTCPServer(socketserver.TCPServer):
@@ -235,7 +253,8 @@
                                db = data["db"]
                                cmd = data["cmd"]
                                args = data.get("args")
                                mysql = mysql_data.Mysqldb()
                                mysql_config = get_mysql_config(db)
                                mysql = mysql_data.Mysqldb(mysql_config)
                                method = getattr(mysql, cmd)
                                args_ = []
                                if args:
@@ -300,11 +319,21 @@
                            datas = data_json["data"]
                            L1DataManager.add_datas(datas)
                            break
                        elif data_json["type"] == "simulation_trade":
                            datas = data_json["data"]
                            ctype = datas["ctype"]
                            data = datas["data"]
                            result = huaxin_trade_api.request(ctype,data)
                            result_str = json.dumps({"code": 0, "data": result}, default=str)
                            sk.sendall(socket_util.load_header(result_str.encode(encoding='utf-8')))
                    except Exception as e:
                        log.logger_tuoguan_request_debug.exception(e)
                    finally:
                        if time.time() - __start_time > 2:
                            log.logger_tuoguan_request_debug.info(f"耗时:{int(time.time() - __start_time)}s  数据:{data_json}")
                            log.logger_tuoguan_request_debug.info(
                                f"耗时:{int(time.time() - __start_time)}s  数据:{data_json}")
                else:
                    # 断开连接
                    break
@@ -341,7 +370,7 @@
                pass
def run(port =  constant.MIDDLE_SERVER_PORT):
def run(port=constant.MIDDLE_SERVER_PORT):
    print("create MiddleServer")
    t1 = threading.Thread(target=lambda: clear_invalid_client(), daemon=True)
    t1.start()
@@ -353,4 +382,4 @@
if __name__ == "__main__":
    print(builtins.type("")==str)
    pass