Skip to content
vetkitChecksChangelogDocumentation

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.