vetkit.resilience.http-call-without-timeout.py-requests
$CALL is called without a timeout. Requests waits forever by default, so a single slow or unresponsive upstream can hold this worker, and every request queued behind it, indefinitely.
Last updated:
Suite: Production readiness
python
$CALL is called without a timeout. Requests waits forever by default, so a single slow or unresponsive upstream can hold this worker, and every request queued behind it, indefinitely.
Category: RESILIENCE · Engine rule severity: WARNING
How to fix it
Pass timeout= on every call (for example timeout=(3.05, 10) for the connect and read phases), sized to the upstream's normal latency, and handle requests.exceptions.Timeout. For many calls to one service, wrap them in a helper or a Session subclass that applies a default timeout.
References
Source: packages/engine/rules/resilience/python.yml.
Generated from shipped rule definitions at build time. Matching is a review signal, not proof of exploitability. “generic” denotes text matching, not complete language or framework coverage. Runtime configuration and available tools affect whether a rule runs.