From 6b77c1709908133c040778f5f775432c4ce7efd7 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 09 六月 2023 19:08:44 +0800 Subject: [PATCH] 优化L2卡位分配/增加想买单第一时间加入L2卡位 --- gpcode_manager.py | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 48 insertions(+), 3 deletions(-) diff --git a/gpcode_manager.py b/gpcode_manager.py index 5a81745..2779d2a 100644 --- a/gpcode_manager.py +++ b/gpcode_manager.py @@ -173,6 +173,39 @@ @classmethod def add_code(cls, code): cls.__get_redis().sadd(cls.__redis_key, code) + cls.__get_redis().expire(cls.__redis_key, tool.get_expire()) + + @classmethod + def remove_code(cls, code): + cls.__get_redis().srem(cls.__redis_key, code) + + @classmethod + def is_in(cls, code): + return cls.__get_redis().sismember(cls.__redis_key, code) + + @classmethod + def list_code(cls): + return cls.__get_redis().smembers(cls.__redis_key) + + +# 鏆傚仠涓嬪崟浠g爜绠$悊 +# 涓庨粦鍚嶅崟鐨勫尯鍒槸鏆傚仠浜ゆ槗浠g爜鍙槸涓嶄氦鏄擄紝涓嶈兘绉婚櫎L2鐩戞帶浣� +class PauseBuyCodesManager: + redisManager = redis_manager.RedisManager(0) + __redis_key = "pause_buy_codes" + + @classmethod + def __get_redis(cls): + return cls.redisManager.getRedis() + + @classmethod + def clear(cls): + cls.__get_redis().delete(cls.__redis_key) + + @classmethod + def add_code(cls, code): + cls.__get_redis().sadd(cls.__redis_key, code) + cls.__get_redis().expire(cls.__redis_key, tool.get_expire()) @classmethod def remove_code(cls, code): @@ -289,11 +322,21 @@ return code +# 浠g爜鍚嶅瓧缂撳瓨 +__code_name_dict = {} + + +# 鑾峰彇浠g爜鐨勫悕绉� def get_code_name(code): + if code in __code_name_dict: + return __code_name_dict.get(code) name = CodesNameManager.get_second_code_name(code) if name is not None: + __code_name_dict[code] = name return name name = CodesNameManager.get_first_code_name(code) + if name: + __code_name_dict[code] = name return name @@ -541,9 +584,11 @@ if available_positions: # 鑾峰彇鍋ュ悍鐘舵�� available_positions_health_states = l2_listen_pos_health_manager.list_health_state(available_positions) - available_positions.sort(key=lambda x: available_positions_health_states[x], reverse=True) + # 灏介噺涓嶅垎閰嶇涓�涓綅缃� + available_positions_new = sorted(available_positions, key=lambda x: (available_positions_health_states[x], 0 if x[1] ==0 else 1), reverse=True) + # available_positions.sort(key=lambda x: available_positions_health_states[x], reverse=True) # 鍙栫1涓暟鎹� - return available_positions[0][0], available_positions[0][1] + return available_positions_new[0][0], available_positions_new[0][1] return None, None @@ -636,4 +681,4 @@ if __name__ == '__main__': - set_price_pre("601858", 27.67) + get_can_listen_pos() -- Gitblit v1.8.0