Retry policy
Goals
- multi-step flow 전체가 아니라 HTTP request 단위로 retry
- 현재 step만 retry해서 ordering 보존
- non-idempotent operation 중복 실행 방지
Defaults
- Attempts: 3
- Max delay cap: 30000 ms
- Jitter: 0.1 (10 percent)
- Provider defaults:
- Telegram min delay: 400 ms
- Discord min delay: 500 ms
Behavior
Discord
- rate-limit error
(
HTTP 429)에서만 retry - 가능하면 Discord의
retry_after를 사용하고, 없으면 exponential backoff 사용
Telegram
- transient error
(
429, timeout, connect/reset/closed, temporarily unavailable)에서 retry - 가능하면
retry_after를 사용하고, 없으면 exponential backoff 사용 - Markdown parse error는 retry하지 않고 plain text로 fallback
Configuration
provider별 retry policy는~/.openclaw/openclaw.json에서 설정합니다.
Notes
- retry는 request별로 적용됩니다 (message send, media upload, reaction, poll, sticker)
- composite flow에서는 이미 완료된 step을 다시 retry하지 않습니다