Qualys sync: retry 3x avec backoff sur erreurs transitoires proxy/reseau
This commit is contained in:
parent
9e03fd84c0
commit
935c8003b4
@ -625,14 +625,23 @@ def _refresh_all_agents_impl(db, mode="diff"):
|
|||||||
"preferences": {"limitResults": 100},
|
"preferences": {"limitResults": 100},
|
||||||
"filters": {"Criteria": criteria}
|
"filters": {"Criteria": criteria}
|
||||||
}}
|
}}
|
||||||
try:
|
# Retry sur erreurs transitoires proxy/reseau (max 3 essais)
|
||||||
r = requests.post(
|
r = None
|
||||||
f"{qualys_url}/qps/rest/2.0/search/am/hostasset",
|
last_err = None
|
||||||
json=payload, auth=(qualys_user, qualys_pass),
|
for attempt in range(3):
|
||||||
verify=False, timeout=600, proxies=proxies,
|
try:
|
||||||
headers={"X-Requested-With": "PatchCenter", "Content-Type": "application/json"})
|
r = requests.post(
|
||||||
except Exception as e:
|
f"{qualys_url}/qps/rest/2.0/search/am/hostasset",
|
||||||
return {"ok": False, "msg": f"page {stats['pages']}: {e}", **stats}
|
json=payload, auth=(qualys_user, qualys_pass),
|
||||||
|
verify=False, timeout=600, proxies=proxies,
|
||||||
|
headers={"X-Requested-With": "PatchCenter", "Content-Type": "application/json"})
|
||||||
|
break
|
||||||
|
except Exception as e:
|
||||||
|
last_err = e
|
||||||
|
import time as _t
|
||||||
|
_t.sleep(2 * (attempt + 1)) # backoff 2s, 4s
|
||||||
|
if r is None:
|
||||||
|
return {"ok": False, "msg": f"page {stats['pages']} apres 3 essais: {last_err}", **stats}
|
||||||
|
|
||||||
if r.status_code != 200 or "SUCCESS" not in r.text:
|
if r.status_code != 200 or "SUCCESS" not in r.text:
|
||||||
return {"ok": False, "msg": f"HTTP {r.status_code} page {stats['pages']}", **stats}
|
return {"ok": False, "msg": f"HTTP {r.status_code} page {stats['pages']}", **stats}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user