Skip to content

feat: rework GET retry logic with exponential backoff, jitter, and Retry-After support - #6

Merged
redmer merged 2 commits into
mainfrom
fix-retry
Sep 24, 2026
Merged

redmer merged 2 commits into
mainfrom
fix-retry

Conversation

@redmer

@redmer redmer commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Previously, transient GET failures retried at most three times after a fixed 60-second delay and only for transport errors.

GETs now retry up to 5 times on transient HTTP statuses (408/429/5xx) and connection errors, using exponential backoff with jitter and honoring the Retry-After header. Non-retryable 4xx responses raise immediately.

Changes:

  • The retry_attempt kwarg of APIConnection.GET() was removed.
  • Warnings and errors are now printed using the pyfwapi logger, not with print.
  • Some exceptions are raised not as quickly, as pyfwapi will retry more consistently. They're still the same exceptions though.

@redmer
redmer merged commit 36b7331 into main Sep 24, 2026
4 checks passed
@redmer
redmer deleted the fix-retry branch September 24, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant