From be73e2b78857adaf006063275726b69c4c60f0d7 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 12 十月 2022 11:54:25 +0800
Subject: [PATCH] 买撤策略修改;加入报警功能

---
 l2_code_operate.py |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/l2_code_operate.py b/l2_code_operate.py
index 1244d1c..f0efbde 100644
--- a/l2_code_operate.py
+++ b/l2_code_operate.py
@@ -65,10 +65,11 @@
         finally:
             cls.__lock.release()
 
-    @staticmethod
-    def send_operate():
+    @classmethod
+    def send_operate(cls):
         redis = L2CodeOperate.getRedis()
         while True:
+            cls.set_read_queue_valid()
             try:
                 data = redis.lpop("code_operate_queue")
                 # print("璇诲彇鎿嶄綔闃熷垪", data, redis.llen("code_operate_queue"))
@@ -162,7 +163,8 @@
                     "data": {"index": int(pos), "code": code, "min_price": float(min_price),
                              "max_price": float(max_price)}}
             redis = self.redis_manager_.getRedis()
-            redis.rpush("code_operate_queue", json.dumps({"type": 3, "code": code, "client": client_id, "data": data,  "create_time": round(time.time() * 1000)}))
+            redis.rpush("code_operate_queue", json.dumps(
+                {"type": 3, "code": code, "client": client_id, "data": data, "create_time": round(time.time() * 1000)}))
 
     # 绉婚櫎鐩戞帶
     def remove_l2_listen(self, code, msg):
@@ -181,6 +183,18 @@
             return int(value)
         return value
 
+    # 璁剧疆璇诲彇闃熷垪鏈夋晥
+    @classmethod
+    def set_read_queue_valid(cls):
+        redis = cls.getRedis()
+        redis.setex("operate_queue_read_state", 20, 1)
+
+    @classmethod
+    def is_read_queue_valid(cls):
+        redis = cls.getRedis()
+        return redis.get("operate_queue_read_state") is not None
+
+
 
 # 鑾峰彇瀹㈡埛绔鍦ㄧ洃鍚殑浠g爜
 def get_listen_codes_from_client(client_id):

--
Gitblit v1.8.0