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