| | |
| | | for k in keys: |
| | | RedisUtils.setex(redis, k, tool.get_expire(), 0, auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | |
| | | RedisUtils.setex(redis, "volumn_max60-{}".format(code), tool.get_expire(), json.dumps((max60, max60_day)), auto_free=False) |
| | | RedisUtils.setex(redis, "volumn_yes-{}".format(code), tool.get_expire(), yesterday, auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | # 获取历史量 |
| | |
| | | yesterday = RedisUtils.get(redis, "volumn_yes-{}".format(code), auto_free=False) |
| | | return max60, yesterday |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | __today_volumn_cache = {} |
| | |
| | | code = k.split("-")[1] |
| | | global_util.yesterday_volumn[code] = RedisUtils.get(redis, k, auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | |
| | | RedisUtils.sadd(redis, "first_no_screen_codes", code, auto_free=False) |
| | | RedisUtils.expire(redis, "first_no_screen_codes", tool.get_expire(), auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | def clear_first_no_screen_codes(): |
| | |
| | | for code in codes: |
| | | RedisUtils.srem(redis, "first_no_screen_codes", code, auto_free= False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | def __get_first_no_screen_codes(): |
| | |
| | | RedisUtils.sadd(redis_instance, "gp_list", d, auto_free=False) |
| | | CodesNameManager.set_second_code_names(name_codes) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | # 新增代码 |
| | |
| | | old_name_codes[key] = name_codes[key] |
| | | CodesNameManager.set_second_code_names(old_name_codes) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | __gp_list_first_codes_cache = set() |
| | |
| | | old_name_codes[key] = name_codes[key] |
| | | CodesNameManager.set_first_code_names(old_name_codes) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | # 移除首板代码 |
| | |
| | | for code in codes: |
| | | RedisUtils.srem(redis_instance, "gp_list_first", code, auto_free=False) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | # 获取首板代码 |
| | |
| | | RedisUtils.expire(redis_instance, "gp_limit_up_list", tool.get_expire(), auto_free=False) |
| | | RedisUtils.setex(redis_instance, "gp_limit_up_list_update_time", tool.get_expire(), round(time.time() * 1000), auto_free=False) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | # 获取涨停列表 |
| | | def get_limit_up_list(): |
| | |
| | | auto_free=False), RedisUtils.smembers(redis_instance, |
| | | "gp_limit_up_list", auto_free=False) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | def rm_gp(code): |
| | |
| | | codes.add(code) |
| | | return codes |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | # 根据位置获取正在监听的代码 |
| | |
| | | for code_ in codes_set: |
| | | RedisUtils.delete(redis_instance, code_, auto_free=False) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | # 初始化位置 |
| | |
| | | for key in keys: |
| | | RedisUtils.setex(redis_instance, key, tool.get_expire(), "", auto_free=False) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | def clear_first_codes(): |
| | |
| | | RedisUtils.delete(redis_instance, "first_code_record", auto_free=False) |
| | | RedisUtils.delete(redis_instance, "first_code_limited_up_record", auto_free=False) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | # 获取可以操作的位置 |
| | |
| | | available_positions.append((client_id, int(key.replace("listen_code-{}-".format(client_id), "")))) |
| | | else: |
| | | codes.append((key, result)) |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | # 查询是否有重复的代码 |
| | | codes_set = set() |
| | | count = 0 |
| | |
| | | if not code: |
| | | free_count += 1 |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | return free_count |
| | | |
| | | |
| | |
| | | for code in codes: |
| | | RedisUtils.delete(redis_instance, "gp_operate-{}".format(code), auto_free=False) |
| | | finally: |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | |
| | | if __name__ == '__main__': |
| | |
| | | code = key.replace("limit_up_time-", "") |
| | | global_util.limit_up_time[code] = RedisUtils.get(redis, key, auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | |
| | | |
| | | config = constant.REDIS_CONFIG |
| | | |
| | | pool_cache = {} |
| | | pool_caches = [redis.ConnectionPool(host=config["host"], port=config["port"], password=config["pwd"], |
| | | db=db, decode_responses=True, max_connections=50) for db in range(16)] |
| | | |
| | | |
| | | class RedisManager: |
| | | |
| | | def __init__(self, db=config["db"]): |
| | | pool = None |
| | | if db in pool_cache: |
| | | pool = pool_cache[db] |
| | | else: |
| | | pool = redis.ConnectionPool(host=config["host"], port=config["port"], password=config["pwd"], |
| | | db=db, decode_responses=True, max_connections=50) |
| | | pool_cache[db] = pool |
| | | self.pool = pool |
| | | self.pool = pool_caches[db] |
| | | |
| | | def getRedis(self): |
| | | return redis.Redis(connection_pool=self.pool) |
| | |
| | | @classmethod |
| | | def get(cls, redis_, key, auto_free=True): |
| | | try: |
| | | logger_redis_debug.info("get:{}",key) |
| | | logger_redis_debug.info("get:{}", key) |
| | | return redis_.get(key) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def scard(cls, redis_, key, auto_free=True): |
| | |
| | | return redis_.scard(key) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def delete(cls, redis_, key, auto_free=True): |
| | |
| | | |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def keys(cls, redis_, key, auto_free=True): |
| | |
| | | return redis_.keys(key) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def set(cls, redis_, key, val, auto_free=True): |
| | |
| | | return redis_.set(key, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def setex(cls, redis_, key, expire, val, auto_free=True): |
| | |
| | | return redis_.setex(key, expire, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def setnx(cls, redis_, key, val, auto_free=True): |
| | |
| | | return redis_.setnx(key, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def expire(cls, redis_, key, expire, auto_free=True): |
| | |
| | | return redis_.expire(key, expire) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def sadd(cls, redis_, key, val, auto_free=True): |
| | |
| | | return redis_.sadd(key, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def sismember(cls, redis_, key, val, auto_free=True): |
| | |
| | | return redis_.sismember(key, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def smembers(cls, redis_, key, auto_free=True): |
| | |
| | | return redis_.smembers(key) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def srem(cls, redis_, key, val, auto_free=True): |
| | |
| | | return redis_.srem(key, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def incrby(cls, redis_, key, num, auto_free=True): |
| | |
| | | return redis_.incrby(key, num) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def lpush(cls, redis_, key, val, auto_free=True): |
| | |
| | | return redis_.lpush(key, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def lpop(cls, redis_, key, auto_free=True): |
| | |
| | | return redis_.lpop(key) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | @classmethod |
| | | def rpush(cls, redis_, key, val, auto_free=True): |
| | |
| | | return redis_.rpush(key, val) |
| | | finally: |
| | | if auto_free: |
| | | redis_.connection_pool.disconnect() |
| | | # redis_.connection_pool.disconnect() |
| | | pass |
| | | |
| | | |
| | | |
| | | @classmethod |
| | | def realse(cls, redis_): |
| | | pass |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | pass |
| | | redisManager = RedisManager(0) |
| | | for i in range(0, 50): |
| | | print(i) |
| | | redis = redisManager.getRedis() |
| | | redis |
| | |
| | | text.insert(END, error) |
| | | _set_error_color(text, 1, error) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | # 验证mongodb |
| | | try: |
| | | counts = mysql_data.Mysqldb().select_one("select count(*) from clients") |
| | |
| | | except Exception as e1: |
| | | showerror("导出失败", str(e1)) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | showinfo("提示", "导出完成") |
| | | |
| | |
| | | RedisUtils.set(redis, "juejin-strategy-id", strategyId, auto_free=False) |
| | | RedisUtils.set(redis, "juejin-token", token, auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | def getAccountInfo(): |
| | |
| | | token = RedisUtils.get(redis, "juejin-token", auto_free=False) |
| | | return account_id, strategy_id, token |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | def init_data(): |
| | |
| | | |
| | | RedisUtils.delete(redis_l2, "l2-data-latest-{}".format(code), auto_free=False) |
| | | finally: |
| | | redis_l2.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_l2) |
| | | |
| | | |
| | | second_930 = 9 * 3600 + 30 * 60 + 0 |
| | |
| | | RedisUtils.sadd(redis, key, "000000", auto_free=False) |
| | | RedisUtils.expire(redis, key, tool.get_expire(), auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | # 移除l2固定监控代码 |
| | |
| | | RedisUtils.setex(redis_instance, key, expire, json.dumps(json_value), auto_free=False) |
| | | finally: |
| | | RedisUtils.delete(redis_instance, "l2-save-{}".format(code), auto_free=False) |
| | | redis_instance.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_instance) |
| | | |
| | | print("保存新数据用时:", msg, "耗时:{}".format(round(time.time() * 1000) - start_time)) |
| | | return datas |
| | |
| | | keys = ["buy1_volumn_latest_info-{}", "m_big_money_begin-{}", "m_big_money_process_index-{}"] |
| | | for k in keys: |
| | | RedisUtils.delete(redis_l2, k.format(code), auto_free=False) |
| | | redis_l2.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_l2) |
| | | l2.l2_data_manager.TradePointManager.delete_buy_point(code) |
| | | big_money_num_manager.reset(code) |
| | | RedisUtils.delete( redis_manager.RedisManager(2).getRedis(), "trade-state-{}".format(code)) |
| | |
| | | if k.find("zyltgb") is not None: |
| | | continue |
| | | RedisUtils.delete(redis_info, k, auto_free=False) |
| | | redis_info.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_info) |
| | | BuyL2SafeCountManager().clear_data(code) |
| | | |
| | | transaction_progress.TradeBuyQueue().set_traded_index(code, 0) |
| | |
| | | token = RedisUtils.get(redis, "juejin-token", auto_free=False) |
| | | return account_id, strategy_id, token |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | @classmethod |
| | |
| | | RedisUtils.incrby(redis, key, 1, auto_free=False) |
| | | RedisUtils.expire(redis, key, tool.get_expire(), auto_free=False) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | # 同花顺是否卡死 |
| | |
| | | return_str = json.dumps( |
| | | {"code": 0, "data": times, "msg": ""}) |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | # 查询委托列表 |
| | | elif type_ == 'test': |
| | |
| | | codes.append(key.replace("trade-state-", '')) |
| | | return codes |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | def get_codes_by_trade_states(states): |
| | |
| | | codes.append(key.replace("trade-state-", '')) |
| | | return codes |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | # 设置交易账户的可用金额 |
| | |
| | | else: |
| | | return json.loads(result), time_str |
| | | finally: |
| | | redis.connection_pool.disconnect() |
| | | RedisUtils.realse(redis) |
| | | |
| | | |
| | | # 开始交易 |
| | |
| | | # if (k.find("l2-") is None or k.find("l2-") < 0) and (k.find("big_data-") is None or k.find("big_data-") < 0): |
| | | RedisUtils.delete(redis_l2, k, auto_free=False) |
| | | finally: |
| | | redis_l2.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_l2) |
| | | |
| | | RedisUtils.delete(redis_manager.RedisManager(2).getRedis(), "trade-state-{}".format(code)) |
| | | |
| | |
| | | |
| | | RedisUtils.delete(redis_info, k, auto_free=False) |
| | | finally: |
| | | redis_info.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_info) |
| | | |
| | | |
| | | def __clear_big_data(): |
| | |
| | | for k in keys: |
| | | RedisUtils.delete(redis_l2, k, auto_free=False) |
| | | finally: |
| | | redis_l2.connection_pool.disconnect() |
| | | RedisUtils.realse(redis_l2) |
| | | |
| | | |
| | | if __name__ == "__main__": |