| | |
| | | CLIENT_TYPE_POSITION_LIST = "position_list" |
| | | CLIENT_TYPE_MONEY = "money" |
| | | CLIENT_TYPE_DEAL = "deal" |
| | | CLIENT_TYPE_ORDER_FOUND_DETAIL = "order_found_detail" |
| | | CLIENT_TYPE_CHARGE = "charge" |
| | | |
| | | CLIENT_TYPE_CMD_L2 = "l2_cmd" |
| | | |
| | |
| | | def OnMoney(self, client_id, request_id, sk): |
| | | pass |
| | | |
| | | def OnOrderFoundDetail(self, client_id, request_id, sk, data): |
| | | pass |
| | | |
| | | def OnCharge(self, client_id, request_id, sk, data): |
| | | pass |
| | | |
| | | # 测试 |
| | | def OnTest(self, client_id, request_id, data, sk): |
| | | pass |
| | |
| | | |
| | | @classmethod |
| | | def init(cls, trade_action_callback: TradeActionCallback, |
| | | queue_strategy_trade_read_for_trade: multiprocessing.Queue): |
| | | queue_strategy_trade_read_for_trade: multiprocessing.Queue, |
| | | queue_strategy_w_trade_for_query: multiprocessing.Queue |
| | | ): |
| | | cls.action_callback = trade_action_callback |
| | | cls.queue_strategy_w_trade_r = queue_strategy_trade_read_for_trade |
| | | cls.queue_strategy_w_trade_r_for_query = queue_strategy_w_trade_for_query |
| | | |
| | | @classmethod |
| | | def process_command(cls, _type, client_id, result_json, sk=None): |
| | |
| | | cls.action_callback.OnDelegateList(client_id, request_id, sk, can_cancel) |
| | | elif _type == CLIENT_TYPE_POSITION_LIST: |
| | | cls.action_callback.OnPositionList(client_id, request_id, sk) |
| | | elif _type == CLIENT_TYPE_ORDER_FOUND_DETAIL: |
| | | cls.action_callback.OnOrderFoundDetail(client_id, request_id, sk, data) |
| | | elif _type == CLIENT_TYPE_CHARGE: |
| | | cls.action_callback.OnCharge(client_id, request_id, sk, data) |
| | | |
| | | elif _type == "test": |
| | | cls.action_callback.OnTest(client_id, request_id, data, sk) |
| | | except Exception as e: |
| | |
| | | _type = val["type"] |
| | | if _type != "test": |
| | | async_log_util.info(logger_local_huaxin_contact_debug, f"接受到信息: {val}") |
| | | # TODO 测试 |
| | | logger_info.info(f"接受到信息: {val}") |
| | | cls.process_command(_type, None, val) |
| | | except Exception as e: |
| | |
| | | async_log_util.exception(logger_local_huaxin_trade_debug, e) |
| | | |
| | | # 维护连接数的稳定 |
| | | def run(self, blocking=True): |
| | | if blocking: |
| | | self.run_process_command(self.queue_strategy_w_trade_r) |
| | | else: |
| | | # 接受命令 |
| | | t1 = threading.Thread(target=lambda: self.run_process_command(self.queue_strategy_w_trade_r), daemon=True) |
| | | t1.start() |
| | | def run(self): |
| | | # 接受命令 |
| | | t1 = threading.Thread(target=lambda: self.run_process_command(self.queue_strategy_w_trade_r), daemon=True) |
| | | t1.start() |
| | | |
| | | t1 = threading.Thread(target=lambda: self.run_process_command(self.queue_strategy_w_trade_r_for_query), |
| | | daemon=True) |
| | | t1.start() |
| | | |
| | | |
| | | # L2指令管理 |