feat: sync version-driven intel coverage

这个提交包含在:
hao
2026-03-21 18:18:55 -07:00
父节点 2d92ef6bce
当前提交 bfd7d732ae
修改 8778 个文件,包含 354337 行新增4720 行删除

查看文件

@@ -151,6 +151,16 @@ def _release_inflight(cache_key: str) -> None:
event.set()
def _retry_delay_seconds(response: requests.Response, *, attempt: int, backoff_seconds: float) -> float:
retry_after = response.headers.get("Retry-After")
if retry_after:
try:
return max(backoff_seconds * attempt, min(15.0, float(retry_after) * attempt))
except ValueError:
pass
return backoff_seconds * attempt
def build_session(source: Dict[str, Any] | None = None) -> requests.Session:
session = requests.Session()
session.trust_env = True
@@ -220,6 +230,12 @@ def request(
verify=verify,
**kwargs,
)
if response.status_code == 429 and attempt < status_retries:
time.sleep(_retry_delay_seconds(response, attempt=attempt, backoff_seconds=backoff_seconds))
continue
if 500 <= response.status_code < 600 and attempt < status_retries:
time.sleep(backoff_seconds * attempt)
continue
if cacheable and response.ok:
_write_cached_response(cache_key, response)
return response