Administrator
4 天以前 245979e3907d34bcd88ac0c4547f399bf33a44de
server/data_server.py
@@ -1,10 +1,13 @@
import http
import json
import logging
import os
import socketserver
from http.server import BaseHTTPRequestHandler
from log_module.log import logger_system, logger_debug, logger_request_api
from strategy import strategy_manager
from strategy.env_info import RealTimeEnvInfo
from utils import tool
from log_module import async_log_util
@@ -36,17 +39,32 @@
        path = self.path
        url = urlparse.urlparse(path)
        result_str = ""
        if url.path == "/upload_big_order_datas":
            # 接收成交大单数据
        try:
            params = self.__parse_request()
            logger_debug.info("upload_big_order_datas:", f"{params}")
        elif url.path == "/upload_block_in_datas":
            # 接收板块流入数据
            params = self.__parse_request()
            logger_debug.info("upload_block_in_datas:", f"{params}")
            result_str = json.dumps({"code": 0})
        else:
            pass
            if type(params) == str:
                params = json.loads(params)
            if url.path == "/upload_big_order_datas":
                # 接收成交大单数据
                big_order_datas = params
                strategy_manager.low_suction_strtegy.add_big_orders(big_order_datas)
                RealTimeEnvInfo().big_order_update_time = tool.get_now_time_str()
                print("获取到大单", os.getpid())
                result_str = json.dumps({"code": 0})
            elif url.path == "/upload_block_in_datas":
                # 接收板块流入数据
                block_in_datas = params
                strategy_manager.low_suction_strtegy.add_block_in(block_in_datas)
                RealTimeEnvInfo().block_in = (tool.get_now_time_str(), len(block_in_datas))
                result_str = json.dumps({"code": 0})
            elif url.path == "/upload_limit_up_list":
                limit_up_list = params
                strategy_manager.low_suction_strtegy.add_limit_up_list(limit_up_list)
                RealTimeEnvInfo().kpl_current_limit_up = (tool.get_now_time_str(), len(limit_up_list))
                result_str = json.dumps({"code": 0})
            else:
                pass
        except Exception as e:
            logger_debug.exception(e)
        self.__send_response(result_str)
    def __send_response(self, data):
@@ -57,12 +75,9 @@
        self.wfile.write(data.encode())
    def __parse_request(self):
        params = {}
        datas = self.rfile.read(int(self.headers['content-length']))
        _str = str(datas, encoding="gbk")
        # print(_str)
        params = json.loads(_str)
        return params
        return json.loads(_str)
class ThreadedHTTPServer(socketserver.ThreadingMixIn, http.server.HTTPServer):