diff --git a/app/services/qualys_service.py b/app/services/qualys_service.py index a635441..848baca 100644 --- a/app/services/qualys_service.py +++ b/app/services/qualys_service.py @@ -553,6 +553,13 @@ def refresh_all_agents(db): def _refresh_all_agents_impl(db): """Implémentation réelle du refresh (appelée sous verrou)""" + # Early exit si tous les assets ont moins de 5 min (pas besoin d'appeler Qualys) + total = db.execute(text("SELECT COUNT(*) FROM qualys_assets")).scalar() or 0 + if total > 0: + stale = db.execute(text("SELECT COUNT(*) FROM qualys_assets WHERE updated_at < now() - interval '5 minutes'")).scalar() or 0 + if stale == 0: + return {"ok": True, "msg": f"Tous les {total} assets sont récents (< 5 min), rien à faire", "skipped_all": True} + qualys_url, qualys_user, qualys_pass, qualys_proxy = _get_qualys_creds(db) if not qualys_user: return {"ok": False, "msg": "Credentials Qualys non configurés"}