From b7000cbf5e67e90abe53e96a4ea931afbf906e24 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期五, 16 九月 2022 18:51:47 +0800
Subject: [PATCH] l2数据计算优化

---
 l2_code_operate.py |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/l2_code_operate.py b/l2_code_operate.py
index 6e647c4..c0e8446 100644
--- a/l2_code_operate.py
+++ b/l2_code_operate.py
@@ -72,7 +72,9 @@
                 print("璇诲彇鎿嶄綔闃熷垪", data, redis.llen("code_operate_queue"))
                 if data is not None:
                     data = json.loads(data)
+                    logger_code_operate.info("璇诲彇鎿嶄綔闃熷垪锛歿}", data)
                     type, code = data["type"], data["code"]
+
                     if type == 0:
                         # 鏄惁鍦ㄥ浐瀹氬簱
                         if l2_data_manager.is_in_l2_fixed_codes(code):
@@ -126,10 +128,10 @@
                 logging.exception(e)
                 print("鍙戦�佹搷浣滃紓甯�:", str(e))
 
-    def add_operate(self, type, code, client=None, pos=None):
+    def add_operate(self, type, code, msg="", client=None, pos=None):
         redis = self.redis_manager_.getRedis()
-        print("add_operate", type, code)
-        redis.rpush("code_operate_queue", json.dumps({"type": type, "code": code, "client": client, "pos": pos}))
+        redis.rpush("code_operate_queue",
+                    json.dumps({"type": type, "msg": msg, "code": code, "client": client, "pos": pos}))
 
     def repaire_operate(self, client, pos, code):
         # 濡傛灉鏈潵璇ヤ綅缃唬鐮佷负绌哄垯涓嶇敤淇
@@ -137,9 +139,7 @@
         if code_ == "" or code_ is None:
             return
         logger_code_operate.info("瀹㈡埛绔綅缃唬鐮佷慨澶嶏細client-{}锛宲os-{},code-{}", client, pos, code)
-
-        redis = self.redis_manager_.getRedis()
-        redis.rpush("code_operate_queue", json.dumps({"type": 2, "client": client, "pos": pos, "code": code}))
+        self.add_operate(2, code, "", client, pos)
 
     # 淇l2鐨勬暟鎹敊璇�
     def repaire_l2_data(self, code):
@@ -156,15 +156,15 @@
             redis.rpush("code_operate_queue", json.dumps({"type": 3, "code": code, "client": client_id, "data": data}))
 
     # 绉婚櫎鐩戞帶
-    def remove_l2_listen(self, code):
+    def remove_l2_listen(self, code, msg):
         # 鏄惁姝e湪鐩戝惉
         if gpcode_manager.is_listen(code):
-            self.add_operate(0, code)
+            self.add_operate(0, code, msg=msg)
 
     # 璁剧疆浠g爜鎿嶄綔鐘舵�侊紝鏈嶅姟鍣ㄤ繚瀛樼殑浠g爜鏄惁涓庡疄闄呰缃殑浠g爜淇濇寔涓�鑷�
     @classmethod
     def set_operate_code_state(cls, client_id, channel, state):
-        cls.getRedis().setex("code-operate_state-{}-{}".format(client_id, channel), tool.get_expire(), state)
+        cls.getRedis().setex("code-operate_state-{}-{}".format(client_id, channel), 10, state)
 
     def get_operate_code_state(self, client_id, channel):
         value = self.getRedis().get("code-operate_state-{}-{}".format(client_id, channel))
@@ -182,11 +182,12 @@
         data = json.loads(result["data"])
         codes = data["data"]
         result_list = {}
-        for d in codes:
-            result_list[d["index"]]=d["code"]
+        if codes is not None:
+            for d in codes:
+                result_list[d["index"]] = d["code"]
         return result_list
     else:
-        raise Exception("鑾峰彇瀹㈡埛绔洃鍚唬鐮佸嚭閿�")
+        raise Exception("鑾峰彇瀹㈡埛绔洃鍚唬鐮佸嚭閿�:{}".format(result))
 
 
 # 鐭瀹㈡埛绔唬鐮�
@@ -198,11 +199,13 @@
             for index in range(0, 8):
                 code = gpcode_manager.get_listen_code_by_pos(client_id, index)
                 if code is not None and len(code) > 0 and index_codes.get(index) != code:
-                    # 淇浠g爜
-                    L2CodeOperate().repaire_operate(client_id, index, code)
+                    # 浜ゆ槗鏃堕棿鎵嶄慨澶嶄唬鐮�
+                    if tool.is_trade_time():
+                        L2CodeOperate().repaire_operate(client_id, index, code)
                 elif code is None or len(code) == 0 and index_codes.get(index) is not None:
                     # 鍒犻櫎鍓嶇浠g爜浣�
-                    L2CodeOperate().add_operate(4, "", client_id, index)
+                    # L2CodeOperate().add_operate(4, "", client_id, index)
+                    pass
         except Exception as e:
             logger_code_operate.error("client:{} msg:{}".format(client_id, str(e)))
 

--
Gitblit v1.8.0