perf(*): bound list queries, batch fetches, harden media downloads

This commit is contained in:
hh committed 2026-09-01 21:38:22 +02:00
1 parent 9c12628304
commit 1fa4f18a9b
35 files changed
+473 -138

No files matched your search

+3 -1
View File
@@ -33,7 +33,7 @@ async def message_volume(
async def response_stats(
pool: asyncpg.Pool, account_id: int, chat_id: int
pool: asyncpg.Pool, account_id: int, chat_id: int, *, days: int = 365
) -> ResponseStats:
self_id = await self_user_id(pool, account_id)
rows = await pool.fetch(
@@ -43,6 +43,7 @@ async def response_stats(
"lag(date) OVER w AS prev_date "
"FROM messages "
"WHERE account_id = $1 AND chat_id = $2 AND sender_id IS NOT NULL "
"AND date >= $4 "
"WINDOW w AS (ORDER BY date, message_id)), "
"resp AS ("
"SELECT (sender_id = $3) AS is_mine, "
@@ -55,6 +56,7 @@ async def response_stats(
account_id,
chat_id,
self_id,
datetime.now(UTC) - timedelta(days=days),
)
stats = ResponseStats(
mine_median_seconds=None, mine_count=0, their_median_seconds=None, their_count=0