Retry-Mechanismus mit Exponential Backoff für externe APIs #43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Alle externen API-Calls (Odoo, GitLab, Anthropic) mit einem Retry-Mechanismus (Exponential Backoff) ausstatten, um transiente Fehler (Timeouts, 429, 503) automatisch zu behandeln.
Hintergrund
Aktuell führt ein einziger Timeout oder Rate-Limit bei einem externen API-Call zu permanentem Failure des Tickets. Es gibt keinen Retry-Mechanismus. Bei kurzfristigen Netzwerkproblemen oder API-Auslastung schlagen Tickets unnötig fehl.
Akzeptanzkriterien
Technische Hinweise
backend/utils/retry.py—@with_retry(max_retries=3, backoff_factor=2)backend/services/odoo_poller.py— Retry auf_fetch_tickets()backend/services/gitlab_service.py— Retry auf alle API-Callsbackend/services/scoring_engine.py— Retry auf Anthropic-Callbackend/services/appsignal_service.py— Retry auf GraphQL-CallstenacityLibrary (battle-tested, async-kompatibel)Aufwand: M