From e5048ebdfa6b484c181693e77102845e05139735 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 04 八月 2023 18:11:12 +0800 Subject: [PATCH] redis连接池归还 --- server.py | 49 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 32 insertions(+), 17 deletions(-) diff --git a/server.py b/server.py index b1bea8e..6ee0558 100644 --- a/server.py +++ b/server.py @@ -43,8 +43,8 @@ class MyTCPServer(socketserver.TCPServer): - def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True, pipe_juejin=None, pipe_ui=None): - self.pipe_juejin = pipe_juejin # 澧炲姞鐨勫弬鏁� + def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True, pipe_trade=None, pipe_ui=None): + self.pipe_trade = pipe_trade # 澧炲姞鐨勫弬鏁� self.pipe_ui = pipe_ui # 鍒濆鍖栨暟鎹� block_info.init() @@ -81,8 +81,12 @@ def setup(self): super().setup() # 鍙互涓嶈皟鐢ㄧ埗绫荤殑setup()鏂规硶锛岀埗绫荤殑setup鏂规硶浠�涔堥兘娌″仛 # print("----setup鏂规硶琚墽琛�-----") - # print("鎵撳嵃浼犲叆鐨勫弬鏁帮細", self.server.pipe) + # print("鎵撳嵃浼犲叆鐨勫弬鏁帮細", self.server.pipe_trade) self.l2CodeOperate = l2_code_operate.L2CodeOperate.get_instance() + + def __notify_trade(self, type_): + if self.server.pipe_trade: + self.server.pipe_trade.send(json.dumps({"type": type_})) def handle(self): host = self.client_address[0] @@ -275,7 +279,7 @@ raise Exception('鏈埌鎺ュ彈鏃堕棿') # 棣栨澘浠g爜 dataList, is_add = data_process.parseGPCode(_str) - tick_datas = first_target_code_data_processor.process_first_codes_datas(dataList) + tick_datas = first_target_code_data_processor.process_first_codes_datas(dataList) # 淇濆瓨鐜颁环 self.first_tick_datas.clear() self.first_tick_datas.extend(tick_datas) @@ -664,6 +668,7 @@ gpcode_manager.CodesNameManager.add_first_code_name(code, results[code]) return_str = json.dumps({"code": 0}) + self.__notify_trade("black_list") elif type == 202: # 鍔犲叆鐧藉悕鍗� data = json.loads(_str) @@ -681,7 +686,7 @@ # if zyltgb > 50 * 100000000: # raise Exception("鑷敱娴侀�氳偂鏈ぇ浜�50浜�") - l2_trade_util.WhiteListCodeManager.add_code(code) + l2_trade_util.WhiteListCodeManager().add_code(code) name = gpcode_manager.get_code_name(code) if not name: results = HistoryKDatasUtils.get_gp_codes_names([code]) @@ -690,6 +695,7 @@ return_str = json.dumps({"code": 0}) except Exception as e: return_str = json.dumps({"code": 1, "msg": str(e)}) + self.__notify_trade("white_list") elif type == 203: # 绉婚櫎榛戝悕鍗� @@ -698,13 +704,15 @@ for code in codes: l2_trade_util.remove_from_forbidden_trade_codes(code) return_str = json.dumps({"code": 0}) + self.__notify_trade("black_list") elif type == 204: # 绉婚櫎鐧藉悕鍗� data = json.loads(_str) codes = data["data"]["codes"] for code in codes: - l2_trade_util.WhiteListCodeManager.remove_code(code) + l2_trade_util.WhiteListCodeManager().remove_code(code) return_str = json.dumps({"code": 0}) + self.__notify_trade("white_list") elif type == 301: # 榛戝悕鍗曞垪琛� codes = l2_trade_util.BlackListCodeManager().list_codes() @@ -715,12 +723,13 @@ return_str = json.dumps({"code": 0, "data": datas}) elif type == 302: # 榛戝悕鍗曞垪琛� - codes = l2_trade_util.WhiteListCodeManager.list_codes() + codes = l2_trade_util.WhiteListCodeManager().list_codes() datas = [] for code in codes: name = gpcode_manager.get_code_name(code) datas.append(f"{name}:{code}") return_str = json.dumps({"code": 0, "data": datas}) + elif type == 401: # 鍔犲叆鎯宠涔� data = json.loads(_str) @@ -737,12 +746,14 @@ self.__KPLCodeLimitUpReasonManager.save_reason(codes[i], data["data"]["plates"][i]) return_str = json.dumps({"code": 0}) + self.__notify_trade("want_list") elif type == 402: data = json.loads(_str) codes = data["data"]["codes"] for code in codes: gpcode_manager.WantBuyCodesManager().remove_code(code) return_str = json.dumps({"code": 0}) + self.__notify_trade("want_list") elif type == 403: plate = None include_codes = set() @@ -768,25 +779,27 @@ data = json.loads(_str) codes = data["data"]["codes"] for code in codes: - gpcode_manager.PauseBuyCodesManager.add_code(code) + gpcode_manager.PauseBuyCodesManager().add_code(code) name = gpcode_manager.get_code_name(code) if not name: results = HistoryKDatasUtils.get_gp_codes_names([code]) if results: gpcode_manager.CodesNameManager.add_first_code_name(code, results[code]) return_str = json.dumps({"code": 0}) + self.__notify_trade("pause_buy_list") # 鍔犲叆鏆傚仠涔板叆鍒楄〃 elif type == 412: # 绉婚櫎鏆傚仠涔板叆鍒楄〃 data = json.loads(_str) codes = data["data"]["codes"] for code in codes: - gpcode_manager.PauseBuyCodesManager.remove_code(code) + gpcode_manager.PauseBuyCodesManager().remove_code(code) return_str = json.dumps({"code": 0}) + self.__notify_trade("pause_buy_list") elif type == 413: # 鏆傚仠涔板叆鍒楄〃 - codes = gpcode_manager.PauseBuyCodesManager.list_code() + codes = gpcode_manager.PauseBuyCodesManager().list_code() datas = [] for code in codes: name = gpcode_manager.get_code_name(code) @@ -811,9 +824,9 @@ # 鏌ヨ鏄惁鎯充拱鍗�/鐧藉悕鍗�/榛戝悕鍗�/鏆備笉涔� code_name = gpcode_manager.get_code_name(code) want = gpcode_manager.WantBuyCodesManager().is_in_cache(code) - white = l2_trade_util.WhiteListCodeManager.is_in(code) + white = l2_trade_util.WhiteListCodeManager().is_in_cache(code) black = l2_trade_util.is_in_forbidden_trade_codes(code) - pause_buy = gpcode_manager.PauseBuyCodesManager.is_in(code) + pause_buy = gpcode_manager.PauseBuyCodesManager().is_in_cache(code) desc_list = [] if want: @@ -832,25 +845,27 @@ data = json.loads(_str) is_open = data["data"]["open"] if is_open: - trade_manager.TradeStateManager.open_buy() + trade_manager.TradeStateManager().open_buy() else: - trade_manager.TradeStateManager.close_buy() + trade_manager.TradeStateManager().close_buy() return_str = json.dumps({"code": 0, "msg": ("寮�鍚垚鍔�" if is_open else "鍏抽棴鎴愬姛")}) + self.__notify_trade("trade_state") elif type == 502: - can_buy = trade_manager.TradeStateManager.is_can_buy() + can_buy = trade_manager.TradeStateManager().is_can_buy_cache() return_str = json.dumps({"code": 0, "data": {"can_buy": can_buy}}) elif type == 503: # 璁剧疆浜ゆ槗鐩爣浠g爜鐨勬ā寮� data = json.loads(_str) mode = data["data"]["mode"] try: - TradeTargetCodeModeManager.set_mode(mode) + TradeTargetCodeModeManager().set_mode(mode) return_str = json.dumps({"code": 0, "data": {"mode": mode}}) except Exception as e: return_str = json.dumps({"code": 1, "msg": str(e)}) + self.__notify_trade("trade_mode") elif type == 504: # 鑾峰彇浜ゆ槗鐩爣浠g爜妯″紡 - mode = TradeTargetCodeModeManager.get_mode() + mode = TradeTargetCodeModeManager().get_mode_cache() return_str = json.dumps({"code": 0, "data": {"mode": mode}}) elif type == 601: pass -- Gitblit v1.8.0