feat(llm-worker): HTTP transient エラーへのリトライを追加

`transport.rs` の HTTP 送信〜ステータスチェック区間に指数バックオフ
+ フルジッターのリトライループを追加する。SSE 読み出し開始後 (
`bytes_stream()` 以降) のエラーは従来どおりそのまま流す。

- `is_retryable(&ClientError)`: 408/425/429/500/502/503/504/529 と
  reqwest の connect/timeout のみ true
- `RetryPolicy` (default: base 500ms / cap 10s / max_attempts 4 /
  total_timeout 30s)
- `Retry-After` ヘッダ (秒数) があればバックオフを上書き
- リトライ発火ごとに warn! でステータス・attempt・wait を出す

ref: tickets/llm-worker-transient-retry.md
This commit is contained in:
2026-05-04 12:45:33 +09:00
parent a0771608b1
commit 19df6340cd
7 changed files with 504 additions and 31 deletions
Generated
+1
View File
@@ -1650,6 +1650,7 @@ dependencies = [
"tracing",
"tracing-subscriber",
"trybuild",
"wiremock",
]
[[package]]