Retry-Richtlinie

Ziele

  • Retry pro HTTP-Anfrage, nicht pro mehrstufigem Ablauf.
  • Reihenfolge beibehalten, indem nur der aktuelle Schritt wiederholt wird.
  • Doppelte Ausführung von nicht-idempotenten Operationen vermeiden.

Standardwerte

  • Versuche: 3
  • Maximale Verzögerung: 30.000 ms
  • Jitter: 0,1 (10 Prozent)
  • Provider-Standardwerte:
    • Telegram minimale Verzögerung: 400 ms
    • Discord minimale Verzögerung: 500 ms

Verhalten

Discord

  • Retry nur bei Rate-Limit-Fehlern (HTTP 429).
  • Nutzt Discord retry_after wenn verfügbar, sonst exponentielles Backoff.

Telegram

  • Retry bei vorübergehenden Fehlern (429, Timeout, connect/reset/closed, temporarily unavailable).
  • Nutzt retry_after wenn verfügbar, sonst exponentielles Backoff.
  • Markdown-Parsing-Fehler werden nicht wiederholt — stattdessen wird auf Klartext zurückgefallen.

Konfiguration

Du kannst die Retry-Richtlinie pro Provider in ~/.openclaw/openclaw.json festlegen:

{
  channels: {
    telegram: {
      retry: {
        attempts: 3,
        minDelayMs: 400,
        maxDelayMs: 30000,
        jitter: 0.1,
      },
    },
    discord: {
      retry: {
        attempts: 3,
        minDelayMs: 500,
        maxDelayMs: 30000,
        jitter: 0.1,
      },
    },
  },
}

Hinweise

  • Retries gelten pro Anfrage (Nachricht senden, Medien hochladen, Reaktion, Umfrage, Sticker).
  • Bei zusammengesetzten Abläufen werden bereits abgeschlossene Schritte nicht wiederholt.