| | |
| | | from log_module.async_log_util import huaxin_l2_log |
| | | from log_module.log import logger_local_huaxin_l2_error |
| | | import http |
| | | import json |
| | | import logging |
| | | import socketserver |
| | | import time |
| | | from http.server import BaseHTTPRequestHandler |
| | | import dask |
| | | |
| | | from code_attribute.gpcode_manager import BlackListCodeManager |
| | | from l2.l2_transaction_data_manager import HuaXinBuyOrderManager |
| | | from log_module.log import logger_system, logger_debug, logger_kpl_limit_up, logger_request_api |
| | | from third_data.custom_block_in_money_manager import CodeInMoneyManager |
| | | from third_data.kpl_data_constant import LimitUpCodesBlockRecordManager, LimitUpDataConstant |
| | | from third_data.kpl_limit_up_data_manager import LatestLimitUpBlockManager, CodeLimitUpSequenceManager |
| | | from third_data.third_blocks_manager import BlockMapManager |
| | | from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager |
| | | from trade.buy_strategy import OpenLimitUpGoodBlocksBuyStrategy |
| | | from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager |
| | | from utils import global_util, tool, data_export_util |
| | | from code_attribute import gpcode_manager |
| | | from log_module import log_analyse, log_export, async_log_util |
| | | |
| | | import urllib.parse as urlparse |
| | | from urllib.parse import parse_qs |
| | | from output import code_info_output, limit_up_data_filter, output_util, kp_client_msg_manager |
| | | |
| | | from trade import bidding_money_manager, trade_manager, l2_trade_util, trade_record_log_util, trade_constant, \ |
| | | trade_data_manager |
| | | import concurrent.futures |
| | | |
| | | # 禁用http.server的日志输出 |
| | | logger = logging.getLogger("http.server") |
| | | logger.setLevel(logging.CRITICAL) |
| | | |
| | | |
| | | class DataServer(BaseHTTPRequestHandler): |
| | | # 禁用日志输出 |
| | | def log_message(self, format, *args): |
| | | pass |
| | | |
| | | def do_GET(self): |
| | | path = self.path |
| | | url = urlparse.urlparse(path) |
| | | async_log_util.info(logger_request_api, f"开始请求{tool.get_thread_id()}-{url}") |
| | | response_data = "" |
| | | if url.path == "/get_block_codes_money": |
| | | ps_dict = dict([(k, v[0]) for k, v in parse_qs(url.query).items()]) |
| | | block = ps_dict['block'] |
| | | try: |
| | | pass |
| | | response_data = json.dumps({"code": 0, "data": data}) |
| | | except Exception as e: |
| | | logger_debug.exception(e) |
| | | logging.exception(e) |
| | | self.send_response(200) |
| | | # 发给请求客户端的响应数据 |
| | | self.send_header('Content-type', 'application/json') |
| | | self.end_headers() |
| | | self.wfile.write(response_data.encode()) |
| | | |
| | | |
| | | class ThreadedHTTPServer(socketserver.ThreadingMixIn, http.server.HTTPServer): |
| | | pass |
| | | |
| | | |
| | | def run(addr, port): |
| | | handler = DataServer |
| | | try: |
| | | httpd = ThreadedHTTPServer((addr, port), handler) |
| | | print("HTTP server is at: http://%s:%d/" % (addr, port)) |
| | | httpd.serve_forever() |
| | | except Exception as e: |
| | | logger_system.exception(e) |
| | | logger_system.error(f"端口服务器:{port} 启动失败") |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | use_time = 0.02 |
| | | temp_list = ["123123"] |
| | | huaxin_l2_log.info(logger_local_huaxin_l2_error, f"耗时:{use_time}s 结束数据:{temp_list[-1]}") |
| | | huaxin_l2_log.run_sync() |
| | | run("", 9004) |