Перейти к содержимому

Утренний дайджест

Не каждое событие за ночь стоит будить хозяина. Лучше один аккуратный дайджест — встроите в свою рутину.

import os, datetime, requests, sqlite3
def handler(event, context):
db = sqlite3.connect("/state/digest.db")
yesterday = (datetime.date.today() - datetime.timedelta(days=1)).isoformat()
rows = db.execute("""SELECT category, COUNT(*), SUM(severity)
FROM events
WHERE day = ? GROUP BY category""", (yesterday,)).fetchall()
body = "\n".join(f"• {cat}: {cnt} ({'⚠️' * min(int(sev), 3)})"
for cat, cnt, sev in rows) or "тишина и порядок"
cost = db.execute("SELECT SUM(usd) FROM llm_spend WHERE day=?", (yesterday,)).fetchone()[0] or 0
body += f"\n\n💵 LLM-spend: ${cost:.2f}"
push(f"☀️ Дайджест {yesterday}", body, priority=3)
return {"statusCode": 200}
def push(t, m, p):
requests.post(f"{os.environ['NOTIFLY_URL']}/message",
params={"token": os.environ["NOTIFLY_TOKEN"]},
json={"title": t, "message": m, "priority": p}, timeout=5)

Поставьте timer-trigger 0 9 * * ? * (или cron-tz под ваш часовой пояс).

Дайджест отлично ложится на priority: 3 — push приходит, но не «звенит».