Files
service-finder/backend/app/scripts/morning_report.py

42 lines
1.4 KiB
Python

import asyncio
from sqlalchemy import select, func
from app.db.session import SessionLocal
from app.models.audit import ProcessLog
from datetime import datetime, timedelta
async def generate_morning_report():
async with SessionLocal() as db:
# Az elmúlt 24 óra logjai
yesterday = datetime.now() - timedelta(days=1)
stmt = select(ProcessLog).where(ProcessLog.start_time >= yesterday)
res = await db.execute(stmt)
logs = res.scalars().all()
report = f"📊 REGGELI ROBOT JELENTÉS - {datetime.now().date()}\n"
report += "="*40 + "\n"
total_proc = 0
total_fail = 0
cleaned_list = []
for log in logs:
total_proc += log.items_processed
total_fail += log.items_failed
if "cleaned" in log.details:
cleaned_list.extend(log.details["cleaned"])
report += f"✅ Feldolgozott modellek: {total_proc}\n"
report += f"❌ Hibás/Sikertelen: {total_fail}\n"
report += f"🧹 AI névtisztítások száma: {len(cleaned_list)}\n\n"
if cleaned_list:
report += "Példák a tisztított nevekre:\n"
for item in cleaned_list[:10]: # Csak az első 10-et listázzuk
report += f" - {item}\n"
print(report)
# Itt hívható az EmailManager.send(...)
return report
if __name__ == "__main__":
asyncio.run(generate_morning_report())