| | |
| | | # -*- coding: utf-8 -*- |
| | | import json |
| | | import logging |
| | | import multiprocessing |
| | | import os |
| | | import queue |
| | | import threading |
| | |
| | | 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) |
| | |
| | | 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 |