| | |
| | | filter=lambda record: record["extra"].get("name") == "debug", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | | |
| | | logger.add(self.get_path("debug", "request_api"), |
| | | filter=lambda record: record["extra"].get("name") == "request_api", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | | |
| | | logger.add(self.get_path("trade", "trade_record"), |
| | | filter=lambda record: record["extra"].get("name") == "trade_record", |
| | | rotation="00:00", compression="zip", enqueue=True) |
| | |
| | | |
| | | logger_debug = __mylogger.get_logger("debug") |
| | | |
| | | logger_request_api = __mylogger.get_logger("request_api") |
| | | |
| | | logger_trade_record = __mylogger.get_logger("trade_record") |
| | | |
| | | logger_trade_position_api_request = __mylogger.get_logger("position_api_request") |
| | |
| | | # 心跳信息 |
| | | from huaxin_client import socket_util |
| | | from huaxin_client.client_network import SendResponseSkManager |
| | | from log_module.log import logger_system |
| | | from log_module.log import logger_system, logger_request_api |
| | | from utils import middle_api_protocol, tool |
| | | |
| | | MSG_TYPE_HEART = "heart" |
| | |
| | | API_TYPE_SAVE_RUNNING_DATA = "save_running_data" # 保存运行时数据 |
| | | API_TYPE_GET_CODE_POSITION_INFO = "get_code_position_info" # 获取代码持仓信息 |
| | | API_TYPE_COMMON_REQUEST = "common_request" # 通用请求 |
| | | |
| | | |
| | | |
| | | class ActionCallback(object): |
| | |
| | | try: |
| | | result = socket_util.recv_data(sk)[0] |
| | | if result: |
| | | start_time = time.time() |
| | | try: |
| | | print("接收数据", _type, result) |
| | | result_json = json.loads(result) |
| | |
| | | SendResponseSkManager.send_error_response(_type, request_id, client_id, |
| | | {"code": -1, "msg": "签名错误"}) |
| | | continue |
| | | |
| | | if content_type == API_TYPE_TRADE: |
| | | # 交易 |
| | | cls.action_callback.OnTrade(client_id, request_id, data) |
| | |
| | | cls.action_callback.OnCommonRequest(client_id, request_id, data) |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | pass |
| | | finally: |
| | | use_time = int(time.time() - start_time) |
| | | if use_time > 5: |
| | | result_json = json.loads(result) |
| | | logger_request_api.info(f"超时5s以上:{result_json['data']['type']}") |
| | | # 发送响应 |
| | | sk.send(json.dumps({"type": "cmd_recieve"}).encode('utf-8')) |
| | | else: |
| | |
| | | from log_module import async_log_util, log_export |
| | | from log_module.log import hx_logger_contact_debug, hx_logger_trade_callback, \ |
| | | hx_logger_l2_orderdetail, hx_logger_l2_transaction, hx_logger_l2_market_data, logger_l2_g_cancel, logger_debug, \ |
| | | logger_system, logger_trade, logger_trade_position_api_request |
| | | logger_system, logger_trade, logger_trade_position_api_request, logger_request_api |
| | | from third_data import block_info, kpl_data_manager, kpl_util |
| | | from third_data.code_plate_key_manager import KPLCodeJXBlockManager, CodePlateKeyBuyManager |
| | | from third_data.history_k_data_util import JueJinApi, HistoryKDatasUtils |
| | |
| | | def OnCommonRequest(self, client_id, request_id, data): |
| | | # 通用请求 |
| | | ctype = data["ctype"] |
| | | __start_time = time.time() |
| | | try: |
| | | if ctype == "get_sell_result": |
| | | order_ref = data["order_ref"] |
| | |
| | | fdatas.append(fdata) |
| | | result = {"code": 0, "data": fdatas} |
| | | self.send_response(result, client_id, request_id) |
| | | |
| | | except Exception as e: |
| | | logging.exception(e) |
| | | self.send_response({"code": 1, "msg": f"数据处理出错:{e}"}, client_id, request_id) |
| | | |
| | | # 获取子类型 |
| | | finally: |
| | | use_time = time.time() - __start_time |
| | | if use_time > 5: |
| | | logger_request_api.info(f"common_request请求时间过长,ctype-{ctype}") |
| | | |
| | | |
| | | class MyL2DataCallback(l2_data_transform_protocol.L2DataCallBack): |