Retry Policy
Recho retries failed deliveries automatically with exponential backoff.
Attempts and intervals
- Initial attempt + up to 5 retries = up to 6 attempts total.
- Retry intervals (exponential backoff):
0.25s → 0.75s → 2.25s → 6.75s → 20.25s. - Total wait time: about 30 seconds.
Retried statuses
- HTTP status codes:
408(Request Timeout),429(Too Many Requests),500,502,503,504. - Network timeouts.
- On
429, if the response includes aRetry-Afterheader, that value is used instead (with a 1-second floor).
Not retried
- Persistent errors such as HTTP
400(Bad Request),401(Unauthorized),403(Forbidden),501(Not Implemented). - Logic errors on the receiver side are treated as immediate failures and logged.
After max attempts
- The delivery is recorded as a final failure (no automatic resend).
- If your receiver may be down for extended periods, implement your own resend mechanism or reach out to Recho for a manual resend.
Related
- Setup Guide — overall delivery behavior
- Sample Receivers — idempotent-receiver examples that account for retries