chore(home): mirror from kalinamall (9883e6a) with papatramp URLs

This commit is contained in:
2026-07-14 20:43:52 +10:00
commit ed4e78f6c3
312 changed files with 42790 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
"""Удаление устаревших events и resolved problems."""
from datetime import datetime, timedelta, timezone
from sqlalchemy import delete
from sqlalchemy.orm import Session
from app.config import Settings
from app.models import Event, Problem
def purge_old_data(db: Session, settings: Settings) -> dict:
"""
Events: received_at старше sac_events_retention_days.
Problems: status=resolved и updated_at старше sac_problems_retention_days.
"""
now = datetime.now(timezone.utc)
events_cutoff = now - timedelta(days=settings.sac_events_retention_days)
problems_cutoff = now - timedelta(days=settings.sac_problems_retention_days)
events_result = db.execute(delete(Event).where(Event.received_at < events_cutoff))
events_deleted = events_result.rowcount or 0
problems_result = db.execute(
delete(Problem).where(
Problem.status == "resolved",
Problem.updated_at < problems_cutoff,
)
)
problems_deleted = problems_result.rowcount or 0
db.commit()
return {
"events_deleted": events_deleted,
"problems_deleted": problems_deleted,
"events_cutoff": events_cutoff.isoformat(),
"problems_cutoff": problems_cutoff.isoformat(),
}