fix: defer daily report push и увеличить pool БД (0.4.12)
FCM/каналы для report.daily.* после commit ingest (BackgroundTasks); SAC_DB_POOL_SIZE=15, SAC_DB_MAX_OVERFLOW=25 для штурма 09:00. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -142,3 +142,20 @@ def notify_rdg_connection(event: Event, *, db: Session | None = None) -> None:
|
||||
if not should_notify_event(event, db):
|
||||
return
|
||||
_dispatch_lifecycle_channels(event, db=db, policy=policy)
|
||||
|
||||
|
||||
def schedule_notify_daily_report(event_db_id: int) -> None:
|
||||
"""Отложенное оповещение по суточному отчёту (после commit ingest, вне горячего POST)."""
|
||||
from app.database import SessionLocal
|
||||
|
||||
db = SessionLocal()
|
||||
try:
|
||||
event = db.get(Event, event_db_id)
|
||||
if event is None:
|
||||
logger.warning("deferred daily report notify: event id=%s not found", event_db_id)
|
||||
return
|
||||
notify_daily_report(event, db=db)
|
||||
except Exception:
|
||||
logger.exception("deferred daily report notify failed event_db_id=%s", event_db_id)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
Reference in New Issue
Block a user