diff --git a/app/services/qualys_service.py b/app/services/qualys_service.py index 2fab060..5b98ce8 100644 --- a/app/services/qualys_service.py +++ b/app/services/qualys_service.py @@ -634,9 +634,21 @@ def _refresh_all_agents_impl(db): db.execute(text("UPDATE servers SET fqdn=:fqdn WHERE id=:sid AND (fqdn IS NULL OR fqdn='')"), {"fqdn": fqdn, "sid": server_id}) - existing = db.execute(text("SELECT id FROM qualys_assets WHERE qualys_asset_id=:qid"), + existing = db.execute(text("SELECT id, updated_at FROM qualys_assets WHERE qualys_asset_id=:qid"), {"qid": int(asset_id)}).fetchone() + # Skip si déjà mis à jour dans les 5 dernières minutes + if existing and existing.updated_at: + from datetime import datetime, timezone, timedelta + try: + age = (datetime.now(timezone.utc) - existing.updated_at).total_seconds() + if age < 300: + stats["skipped"] = stats.get("skipped", 0) + 1 + sp.commit() + continue + except Exception: + pass + if existing: db.execute(text("""UPDATE qualys_assets SET name=:name, hostname=:hn, fqdn=:fqdn, ip_address=:ip, os=:os, os_family=:osf,