재시도 정책
목표
- HTTP 요청 단위로 재시도하며, 다단계 플로우 단위가 아닙니다.
- 현재 단계만 재시도하여 순서를 보존합니다.
- 비멱등 작업의 중복 실행을 방지합니다.
기본값
- 시도 횟수: 3
- 최대 지연 상한: 30000 ms
- 지터: 0.1 (10%)
- 프로바이더 기본값:
- Telegram 최소 지연: 400 ms
- Discord 최소 지연: 500 ms
동작
Discord
- 속도 제한 오류(HTTP 429)에서만 재시도합니다.
- Discord의
retry_after를 사용할 수 있으면 사용하고, 그렇지 않으면 지수 백오프를 적용합니다.
Telegram
- 일시적 오류(429, 타임아웃, 연결/리셋/종료, 일시적 사용 불가)에서 재시도합니다.
retry_after를 사용할 수 있으면 사용하고, 그렇지 않으면 지수 백오프를 적용합니다.- 마크다운 파싱 오류는 재시도하지 않으며 일반 텍스트로 폴백합니다.
구성
~/.openclaw/openclaw.json에서 프로바이더별 재시도 정책을 설정합니다:
{
channels: {
telegram: {
retry: {
attempts: 3,
minDelayMs: 400,
maxDelayMs: 30000,
jitter: 0.1,
},
},
discord: {
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}
참고
- 재시도는 요청 단위(메시지 전송, 미디어 업로드, 리액션, 투표, 스티커)로 적용됩니다.
- 복합 플로우는 완료된 단계를 재시도하지 않습니다.