topics+authors-reimplemented-cache
All checks were successful
Deploy on push / deploy (push) Successful in 5s

This commit is contained in:
2025-03-22 11:47:19 +03:00
parent 86ddb50cb8
commit 615f1fe468
11 changed files with 1127 additions and 521 deletions

15
cache/precache.py vendored
View File

@@ -1,7 +1,6 @@
import asyncio
import json
import orjson
from sqlalchemy import and_, join, select
from cache.cache import cache_author, cache_topic
@@ -87,11 +86,15 @@ async def precache_data():
# Преобразуем словарь в список аргументов для HSET
if value:
flattened = []
for field, val in value.items():
flattened.extend([field, val])
await redis.execute("HSET", key, *flattened)
# Если значение - словарь, преобразуем его в плоский список для HSET
if isinstance(value, dict):
flattened = []
for field, val in value.items():
flattened.extend([field, val])
await redis.execute("HSET", key, *flattened)
else:
# Предполагаем, что значение уже содержит список
await redis.execute("HSET", key, *value)
logger.info(f"redis hash '{key}' was restored")
with local_session() as session: