リトライ仕様
受信側が一時的なエラーを返した場合、指数バックオフで自動リトライします。
試行回数とインターバル
- 初回 + 最大 5 回リトライ = 合計最大 6 回試行
- リトライ間隔(指数バックオフ):
0.25s → 0.75s → 2.25s → 6.75s → 20.25s - 合計待機時間: 約 30 秒
リトライ対象
- HTTP ステータス:
408(Request Timeout),429(Too Many Requests),500,502,503,504 - ネットワークタイムアウト
429の場合、レスポンスのRetry-Afterヘッダがあればそちらの値を優先(最小 1 秒)
リトライしないケース
- HTTP
400(Bad Request),401(Unauthorized),403(Forbidden),501(Not Implemented) 等の永続的エラー - 受信側のロジックエラーは即座に失敗とみなされ、ログに記録されます
最大試行回数を超えた場合
- 配信は最終的に失敗として記録されます(自動再送はありません)
- 受信側が長時間ダウンする可能性がある場合は、再送機能を独自に実装するか、Recho 側に再送依頼してください