| | |
| | | # 开启购买入口 |
| | | class TradeStateManager: |
| | | __instance = None |
| | | |
| | | def __new__(cls, *args, **kwargs): |
| | | if not cls.__instance: |
| | | cls.__instance = super(TradeStateManager, cls).__new__(cls, *args, **kwargs) |
| | | # 初始化设置 |
| | | # 获取交易窗口的锁 |
| | | cls.__instance.redisManager = redis_manager.RedisManager(2) |
| | | cls.__instance.__trade_buy_state_cache = cls.__instance.is_can_buy_cache() |
| | | cls.__instance.__trade_buy_state_cache = cls.is_can_buy() |
| | | return cls.__instance |
| | | |
| | | redisManager = redis_manager.RedisManager(2) |
| | | |
| | | def __get_redis(self): |
| | | return self.redisManager.getRedis() |
| | | @classmethod |
| | | def __get_redis(cls): |
| | | return cls.redisManager.getRedis() |
| | | |
| | | def sync(self): |
| | | self.__trade_buy_state_cache = self.is_can_buy_cache() |
| | |
| | | RedisUtils.setex(self.__get_redis(), "trade_buy_state", tool.get_expire(), 0) |
| | | |
| | | # 是否可以下单 |
| | | def is_can_buy(self): |
| | | @classmethod |
| | | def is_can_buy(cls): |
| | | # 默认设置为可交易 |
| | | val = RedisUtils.get(self.__get_redis(), "trade_buy_state") |
| | | val = RedisUtils.get(cls.__get_redis(), "trade_buy_state") |
| | | if val is None: |
| | | return True |
| | | if int(val) == 1: |