| | |
| | | |
| | | import multiprocessing |
| | | import os |
| | | import sys |
| | | |
| | | from db import redis_manager_delegate as redis_manager |
| | | import huaxin_client.trade_client |
| | |
| | | # from huaxin_api import trade_client, l2_client, l1_client |
| | | |
| | | |
| | | def createTradeServer(pipe_server, pipe_trade, pipe_l1, pipe_l2, ptl2_l2, psl2_l2, queue_strategy_trade): |
| | | def createTradeServer(pipe_server, queue_strategy_r_trade_w, pipe_l1, pipe_l2, ptl2_l2, psl2_l2, queue_strategy_w_trade_r): |
| | | logger_system.info("策略进程ID:{}", os.getpid()) |
| | | log.close_print() |
| | | # 初始化参数 |
| | |
| | | t1.start() |
| | | # |
| | | # 启动华鑫交易服务 |
| | | huaxin_trade_server.run(pipe_trade, pipe_l1, pipe_l2, queue_strategy_trade) |
| | | huaxin_trade_server.run(queue_strategy_r_trade_w, pipe_l1, pipe_l2, queue_strategy_w_trade_r) |
| | | |
| | | |
| | | # 主服务 |
| | |
| | | log.close_print() |
| | | # 策略与server间的通信 |
| | | pss_server, pss_strategy = multiprocessing.Pipe() |
| | | # 策略与交易间的通信 |
| | | pst_trade, pst_strategy = multiprocessing.Pipe() |
| | | |
| | | # 交易与l2之间的通信 |
| | | ptl2_trade, ptl2_l2 = multiprocessing.Pipe() |
| | | # 策略与l2之间的通信 |
| | |
| | | # l1与策略间的通信 |
| | | pl1t_l1, pl1t_strategy = multiprocessing.Pipe() |
| | | |
| | | queue_strategy_trade = multiprocessing.Queue() |
| | | # 交易读策略写 |
| | | queue_strategy_w_trade_r = multiprocessing.Queue() |
| | | # 策略读交易写 |
| | | queue_strategy_r_trade_w = multiprocessing.Queue() |
| | | |
| | | # 托管环境下不创建 |
| | | # serverProcess = multiprocessing.Process(target=createServer, args=(pss_server,)) |
| | |
| | | |
| | | # 交易进程 |
| | | tradeProcess = multiprocessing.Process( |
| | | target=lambda: huaxin_client.trade_client.run(None, ptl2_trade, pst_trade, queue_strategy_trade)) |
| | | target=lambda: huaxin_client.trade_client.run(None, ptl2_trade, queue_strategy_r_trade_w, queue_strategy_w_trade_r)) |
| | | tradeProcess.start() |
| | | |
| | | # 主进程 |
| | | createTradeServer(pss_strategy, pst_strategy, pl1t_strategy, psl2_strategy, ptl2_l2, psl2_l2, queue_strategy_trade) |
| | | createTradeServer(pss_strategy, queue_strategy_r_trade_w, pl1t_strategy, psl2_strategy, ptl2_l2, psl2_l2, queue_strategy_w_trade_r) |
| | | |
| | | # 将tradeServer作为主进程 |
| | | l1Process.join() |