From f5b416d9cb5214ff0e46ca6305098085d2fe8742 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 27 九月 2023 18:02:11 +0800 Subject: [PATCH] L2与交易之间的通信采用队列方式/实现L撤单比例动态计算 --- huaxin_client/l2_client.py | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/huaxin_client/l2_client.py b/huaxin_client/l2_client.py index 828fc83..324a364 100644 --- a/huaxin_client/l2_client.py +++ b/huaxin_client/l2_client.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import json import logging +import multiprocessing import os import queue import threading @@ -560,11 +561,11 @@ api.Init() -def __receive_from_pipe_trade(pipe): +def __receive_from_pipe_trade(queue_trade_w_l2_r: multiprocessing.Queue): logger_system.info(f"l2_client __receive_from_pipe_trade 绾跨▼ID:{tool.get_thread_id()}") while True: try: - value = pipe.recv() + value = queue_trade_w_l2_r.get() if value: value = value.decode("utf-8") data = json.loads(value) @@ -594,13 +595,13 @@ pipe_strategy = None -def run(pipe_trade, _pipe_strategy, _l2_data_callback: l2_data_transform_protocol.L2DataCallBack) -> None: +def run(queue_trade_w_l2_r:multiprocessing.Queue, _pipe_strategy, _l2_data_callback: l2_data_transform_protocol.L2DataCallBack) -> None: logger_system.info("L2杩涚▼ID锛歿}", os.getpid()) logger_system.info(f"l2_client 绾跨▼ID:{tool.get_thread_id()}") try: log.close_print() - if pipe_trade is not None: - t1 = threading.Thread(target=lambda: __receive_from_pipe_trade(pipe_trade), daemon=True) + if queue_trade_w_l2_r is not None: + t1 = threading.Thread(target=lambda: __receive_from_pipe_trade(queue_trade_w_l2_r), daemon=True) t1.start() if _pipe_strategy is not None: global pipe_strategy -- Gitblit v1.8.0