| | |
| | | __redis_manager = redis_manager.RedisManager(2) |
| | | __deal_codes_cache = set() |
| | | __instance = None |
| | | __mysqldb = Mysqldb() |
| | | # 根据L2数据来激进买入的有效时间:{"code":(有效截至时间, 买单号, 扫入的板块, 最近成交时间)} |
| | | buy_by_l2_delegate_expire_time_dict = {} |
| | | # 仅仅买的板块 |
| | | radical_buy_blocks_dict = {} |
| | | __radical_buy_blocks_dict = {} |
| | | |
| | | def __new__(cls, *args, **kwargs): |
| | | if not cls.__instance: |
| | | cls.__instance = super(RadicalBuyDealCodesManager, cls).__new__(cls, *args, **kwargs) |
| | | cls.__instance.__load_data() |
| | | cls.__load_data() |
| | | |
| | | return cls.__instance |
| | | |
| | | @classmethod |
| | | def __load_data(cls): |
| | | __redis = cls.__get_redis() |
| | | result = RedisUtils.smembers(cls.__get_redis(), "radical_buy_deal_codes") |
| | | if result: |
| | | cls.__deal_codes_cache = set(result) |
| | | keys = RedisUtils.keys(cls.__get_redis(), "radical_buy_blocks-*") |
| | | if keys: |
| | | for k in keys: |
| | | code = k.split("-")[1] |
| | | val = RedisUtils.get(cls.__get_redis(), k) |
| | | val = json.loads(val) |
| | | cls.__radical_buy_blocks_dict[code] = set(val) |
| | | cls.__deal_codes_cache = set(result) |
| | | |
| | | def set_code_blocks(self, code, blocks): |
| | | self.__radical_buy_blocks_dict[code] = set(blocks) |
| | | RedisUtils.setex_async(self.__db, f"radical_buy_blocks-{code}", tool.get_expire(), json.dumps(list(blocks))) |
| | | |
| | | def get_code_blocks(self, code): |
| | | return self.__radical_buy_blocks_dict.get(code) |
| | | |
| | | @classmethod |
| | | def __get_redis(cls): |
| | |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | print(AccountMoneyManager().get_deal_count()) |
| | | pass |