debug-load-messages-by-2
All checks were successful
deploy / deploy (push) Successful in 1m9s

This commit is contained in:
2023-10-16 21:44:13 +03:00
parent b7cb93a746
commit e0d2ae37eb
2 changed files with 12 additions and 18 deletions

View File

@@ -17,9 +17,7 @@ async def get_unread_counter(chat_id: str, author_id: int) -> int:
# NOTE: not an API handler
async def load_messages(
chat_id: str, limit: int = 5, offset: int = 0, ids: Optional[List[int]] = None
) -> List[Message]:
async def load_messages(chat_id: str, limit: int = 5, offset: int = 0, ids: Optional[List[int]] = None) -> List[Message]:
"""load :limit messages for :chat_id with :offset"""
if ids is None:
ids = []
@@ -28,11 +26,11 @@ async def load_messages(
message_ids = [] + ids
if limit:
mids = (await redis.lrange(f"chats/{chat_id}/message_ids", offset, offset + limit)) or []
mids = [mid for mid in mids]
message_ids += mids
if message_ids:
message_keys = [f"chats/{chat_id}/messages/{mid}" for mid in message_ids]
messages = (await redis.mget(*message_keys)) or []
messages = [json.loads(m) if m else None for m in messages]
replies = []
for m in messages:
if m: