메인 콘텐츠로 건너뛰기

재시도 정책

목표

  • 다단계 흐름 단위가 아닌, HTTP 요청 단위로 재시도합니다.
  • 현재 단계만 재시도하여 순서를 보존합니다.
  • 비멱등 작업의 중복을 방지합니다.

기본값

  • 시도 횟수: 3
  • 최대 지연 상한: 30000 ms
  • 지터: 0.1 (10 퍼센트)
  • 프로바이더 기본값:
    • Telegram 최소 지연: 400 ms
    • Discord 최소 지연: 500 ms

동작

Discord

  • 속도 제한 오류 (HTTP 429) 에서만 재시도합니다.
  • 사용 가능한 경우 Discord retry_after 을 사용하고, 그렇지 않으면 지수 백오프를 사용합니다.

Telegram

  • 일시적 오류 (429, 타임아웃, 연결/리셋/종료, 일시적으로 사용 불가) 에서 재시도합니다.
  • 사용 가능한 경우 retry_after 를 사용하고, 그렇지 않으면 지수 백오프를 사용합니다.
  • Markdown 파싱 오류는 재시도하지 않으며, 일반 텍스트로 폴백합니다.

구성

~/.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,
      },
    },
  },
}

참고

  • 재시도는 요청 단위 (메시지 전송, 미디어 업로드, 반응, 설문, 스티커) 로 적용됩니다.
  • 복합 흐름에서는 완료된 단계를 재시도하지 않습니다.