From d6b6be5eb2ae00a8ccf46bd7d53cd7d0c1e59c72 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 24 十一月 2023 19:19:37 +0800 Subject: [PATCH] 初始化独立某些方法 --- outside_api_command_manager.py | 65 ++++++++++++++++++++++++++++---- 1 files changed, 56 insertions(+), 9 deletions(-) diff --git a/outside_api_command_manager.py b/outside_api_command_manager.py index cb6cdac..e289859 100644 --- a/outside_api_command_manager.py +++ b/outside_api_command_manager.py @@ -9,9 +9,10 @@ import time # 蹇冭烦淇℃伅 -from huaxin_api import socket_util -from huaxin_api.client_network import SendResponseSkManager -from utils import middle_api_protocol +from huaxin_client import socket_util +from huaxin_client.client_network import SendResponseSkManager +from log_module.log import logger_debug, logger_system +from utils import middle_api_protocol, tool MSG_TYPE_HEART = "heart" # 鍛戒护淇℃伅 @@ -32,6 +33,7 @@ OPERRATE_SET = 1 # 璁剧疆 OPERRATE_DELETE = 2 # 鍒犻櫎 OPERRATE_GET = 3 # 鑾峰彇 +OPERRATE_ADD = 4 # 鏂板 # 浠g爜鍚嶅崟绫诲瀷 CODE_LIST_WHITE = "white" @@ -43,6 +45,7 @@ API_TYPE_TRADE = "trade" # 浜ゆ槗 API_TYPE_TRADE_STATE = "trade_state" # 浜ゆ槗鐘舵�� API_TYPE_TRADE_MODE = "trade_mode" # 浜ゆ槗妯″紡 +API_TYPE_SELL_RULE = "sell_rule" # 鍗栧嚭瑙勫垯 API_TYPE_CODE_LIST = "code_list" # 浠g爜鍚嶅崟 API_TYPE_EXPORT_L2 = "export_l2" # 瀵煎嚭L2鏁版嵁 API_TYPE_INIT = "init" # 鍒濆鍖� @@ -50,7 +53,13 @@ API_TYPE_CODE_ATRRIBUTE = "code_attribute" # 浠g爜灞炴�� API_TYPE_CODE_TRADE_STATE = "code_trade_state" # 浠g爜浜ゆ槗鐘舵�� API_TYPE_GET_ENV = "get_env" # 鑾峰彇鐜淇℃伅 - +API_TYPE_SYNC_L1_TARGET_CODES = "sync_l1_subscript_codes" # 鍚屾L1闇�瑕佽闃呯殑浠g爜 +API_TYPE_SYSTEM_LOG = "system_log" # 绯荤粺鏃ュ織 +API_TYPE_GET_FROM_DATA_SERVER = "get_from_data_server" # 浠庢暟鎹湇鍔″櫒鎷夊彇鏁版嵁 +API_TYPE_CODE_TRADE_INFO = "code_trade_info" # 浠g爜浜ゆ槗淇℃伅 +API_TYPE_CODE_L2_LISTEN_ACTIVE_COUNT = "l2_listen_active_count" # L2鏈夋晥鐩戝惉鏁伴噺 +API_TYPE_SAVE_RUNNING_DATA = "save_running_data" # 淇濆瓨杩愯鏃舵暟鎹� +API_TYPE_GET_CODE_POSITION_INFO = "get_code_position_info" # 鑾峰彇浠g爜鎸佷粨淇℃伅 class ActionCallback(object): # 浜ゆ槗 @@ -63,6 +72,10 @@ # 浜ゆ槗妯″紡 def OnTradeMode(self, client_id, request_id, data): + pass + + # 鍗栧嚭瑙勫垯 + def OnSellRule(self, client_id, request_id, data): pass # 浠g爜鍚嶅崟 @@ -87,6 +100,25 @@ def OnGetEnvInfo(self, client_id, request_id, data): pass + def OnSyncL2SubscriptCodes(self, client_id, request_id): + pass + + def OnGetFromDataServer(self, client_id, request_id, data): + pass + + # 浠g爜鐨勪氦鏄撲俊鎭� + def OnGetCodeTradeInfo(self, client_id, request_id, data): + pass + + def OnGetActiveListenCount(self, client_id, request_id): + pass + + def OnSaveRunningData(self, client_id, request_id): + pass + + def OnGetCodePositionInfo(self, client_id, request_id, data): + pass + # 浜ゆ槗鎸囦护绠$悊 # 浜ゆ槗鎸囦护绠$悊 @@ -102,7 +134,7 @@ @classmethod def __create_client(cls, client_type, rid): client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 鐢熸垚socket锛岃繛鎺erver - client.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, True) + # client.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, True) # client.ioctl(socket.SIO_KEEPALIVE_VALS, (1, 60 * 1000, 30 * 1000)) client.connect(cls.ip_port) client.send(SendResponseSkManager.format_response( @@ -166,6 +198,8 @@ cls.action_callback.OnTradeState(client_id, request_id, data) elif content_type == API_TYPE_TRADE_MODE: cls.action_callback.OnTradeMode(client_id, request_id, data) + elif content_type == API_TYPE_SELL_RULE: + cls.action_callback.OnSellRule(client_id, request_id, data) elif content_type == API_TYPE_CODE_LIST: cls.action_callback.OnCodeList(client_id, request_id, data) elif content_type == API_TYPE_EXPORT_L2: @@ -180,6 +214,21 @@ cls.action_callback.OnGetCodeTradeState(client_id, request_id, data) elif content_type == API_TYPE_GET_ENV: cls.action_callback.OnGetEnvInfo(client_id, request_id, data) + elif content_type == API_TYPE_SYNC_L1_TARGET_CODES: + cls.action_callback.OnSyncL2SubscriptCodes(client_id, request_id) + elif content_type == API_TYPE_SYSTEM_LOG: + cls.action_callback.OnSystemLog(client_id, request_id, data) + elif content_type == API_TYPE_GET_FROM_DATA_SERVER: + cls.action_callback.OnGetFromDataServer(client_id, request_id, data) + elif content_type == API_TYPE_CODE_TRADE_INFO: + cls.action_callback.OnGetCodeTradeInfo(client_id, request_id, data) + elif content_type == API_TYPE_CODE_L2_LISTEN_ACTIVE_COUNT: + cls.action_callback.OnGetActiveListenCount(client_id, request_id) + elif content_type == API_TYPE_SAVE_RUNNING_DATA: + cls.action_callback.OnSaveRunningData(client_id, request_id) + elif content_type == API_TYPE_GET_CODE_POSITION_INFO: + cls.action_callback.OnGetCodePositionInfo(client_id, request_id, data) + except Exception as e: logging.exception(e) pass @@ -206,12 +255,9 @@ def __heart_beats(cls, _type, client_id, sk): while True: try: - sk.send(SendResponseSkManager.format_response( - json.dumps({"type": "heart", "client_id": client_id}).encode('utf-8'))) + sk.send(socket_util.load_header(json.dumps({"type": "heart", "client_id": client_id}).encode('utf-8'))) # print("蹇冭烦淇℃伅鍙戦�佹垚鍔�", client_id) except Exception as e: - print("蹇冭烦淇℃伅鍙戦�佸け璐�", _type, client_id) - logging.exception(e) if _type == CLIENT_TYPE_TRADE: if client_id in cls.trade_client_dict: cls.trade_client_dict.pop(client_id) @@ -237,6 +283,7 @@ @classmethod def __maintain_client(cls): + logger_system.info(f"outside_api __maintain_client 绾跨▼ID:{tool.get_thread_id()}") while True: try: if len(cls.trade_client_dict) < cls.trade_client_count: -- Gitblit v1.8.0