From 8de91a8232b7d4ecd750c955e9f74b9695c3c8b0 Mon Sep 17 00:00:00 2001 From: Untone Date: Wed, 23 Oct 2024 11:25:56 +0300 Subject: [PATCH] hgetall-fix --- cache/precache.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cache/precache.py b/cache/precache.py index b8f7c328..393d5f8f 100644 --- a/cache/precache.py +++ b/cache/precache.py @@ -80,13 +80,19 @@ async def precache_data(): try: key = "authorizer_env" # cache reset - value = await redis.execute("HGET", key) + value = await redis.execute("HGETALL", key) await redis.execute("FLUSHDB") logger.info("redis: FLUSHDB") - if value is not None: - await redis.execute("HSET", key, value) - logger.info(f"redis hash '{key}' was successfully restored") + # Преобразуем словарь в список аргументов для HSET + if value: + flattened = [] + for field, val in value.items(): + flattened.extend([field, val]) + + await redis.execute("HSET", key, *flattened) + logger.info(f"redis hash '{key}' was restored") + with local_session() as session: # topics q = select(Topic).where(Topic.community == 1)