jsonfix
All checks were successful
Deploy on push / deploy (push) Successful in 44s

This commit is contained in:
2025-03-20 12:24:30 +03:00
parent 0aff77eda6
commit ca01181f37
6 changed files with 34 additions and 20 deletions

13
cache/precache.py vendored
View File

@@ -1,4 +1,5 @@
import asyncio
import json
import orjson
from sqlalchemy import and_, join, select
@@ -21,7 +22,7 @@ async def precache_authors_followers(author_id, session):
result = session.execute(followers_query)
authors_followers.update(row[0] for row in result if row[0])
followers_payload = orjson.dumps(list(authors_followers), cls=CustomJSONEncoder)
followers_payload = json.dumps(list(authors_followers), cls=CustomJSONEncoder)
await redis.execute("SET", f"author:followers:{author_id}", followers_payload)
@@ -35,9 +36,9 @@ async def precache_authors_follows(author_id, session):
follows_authors = {row[0] for row in session.execute(follows_authors_query) if row[0]}
follows_shouts = {row[0] for row in session.execute(follows_shouts_query) if row[0]}
topics_payload = orjson.dumps(list(follows_topics), cls=CustomJSONEncoder)
authors_payload = orjson.dumps(list(follows_authors), cls=CustomJSONEncoder)
shouts_payload = orjson.dumps(list(follows_shouts), cls=CustomJSONEncoder)
topics_payload = json.dumps(list(follows_topics), cls=CustomJSONEncoder)
authors_payload = json.dumps(list(follows_authors), cls=CustomJSONEncoder)
shouts_payload = json.dumps(list(follows_shouts), cls=CustomJSONEncoder)
await asyncio.gather(
redis.execute("SET", f"author:follows-topics:{author_id}", topics_payload),
@@ -62,7 +63,7 @@ async def precache_topics_authors(topic_id: int, session):
)
topic_authors = {row[0] for row in session.execute(topic_authors_query) if row[0]}
authors_payload = orjson.dumps(list(topic_authors), cls=CustomJSONEncoder)
authors_payload = json.dumps(list(topic_authors), cls=CustomJSONEncoder)
await redis.execute("SET", f"topic:authors:{topic_id}", authors_payload)
@@ -71,7 +72,7 @@ async def precache_topics_followers(topic_id: int, session):
followers_query = select(TopicFollower.follower).where(TopicFollower.topic == topic_id)
topic_followers = {row[0] for row in session.execute(followers_query) if row[0]}
followers_payload = orjson.dumps(list(topic_followers), cls=CustomJSONEncoder)
followers_payload = json.dumps(list(topic_followers), cls=CustomJSONEncoder)
await redis.execute("SET", f"topic:followers:{topic_id}", followers_payload)