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