| | |
| | | def get_mode_cache(self): |
| | | return self.__auto_cancel_sell_mode |
| | | |
| | | |
| | | # 根据分数禁止买的票管理 |
| | | class ForbiddenBuyCodeByScoreManager: |
| | | __instance = None |
| | | |
| | | def __new__(cls, *args, **kwargs): |
| | | if not cls.__instance: |
| | | cls.__instance = super(ForbiddenBuyCodeByScoreManager, cls).__new__(cls, *args, **kwargs) |
| | | cls.__instance.__redisManager = redis_manager.RedisManager(2) |
| | | cls.__instance.__key = "forbidden_codes_by_score" |
| | | cls.__instance.__forbidden_codes_by_score_cache = RedisUtils.smembers(cls.__instance.__get_redis(), |
| | | cls.__instance.__key) |
| | | return cls.__instance |
| | | |
| | | def __get_redis(self): |
| | | return self.__redisManager.getRedis() |
| | | |
| | | def add_code(self, code): |
| | | self.__forbidden_codes_by_score_cache.add(code) |
| | | RedisUtils.sadd(self.__get_redis(), self.__key, code) |
| | | |
| | | def remove_code(self, code): |
| | | self.__forbidden_codes_by_score_cache.discard(code) |
| | | RedisUtils.srem(self.__get_redis(), self.__key, code) |
| | | |
| | | def is_in(self, code): |
| | | return RedisUtils.sismember(self.__get_redis(), self.__key, code) |
| | | |
| | | def is_in_cache(self, code): |
| | | return code in self.__forbidden_codes_by_score_cache |
| | | |
| | | def clear(self): |
| | | self.__forbidden_codes_by_score_cache.clear() |
| | | RedisUtils.delete(self.__get_redis(), self.__key) |
| | | |
| | | |
| | | # 代码的交易状态管理 |
| | | class CodesTradeStateManager: |
| | | __trade_state_cache = {} |