Passer au contenu principal

Politique de nouvelle tentative

Objectifs

  • Réessayer par requête HTTP, et non par flux en plusieurs étapes.
  • Préserver l’ordre en ne réessayant que l’étape en cours.
  • Éviter de dupliquer les opérations non idempotentes.

Valeurs par défaut

  • Tentatives : 3
  • Plafond maximal de délai : 30000 ms
  • Gigue : 0.1 (10 pour cent)
  • Valeurs par défaut par fournisseur :
    • Délai minimal Telegram : 400 ms
    • Délai minimal Discord : 500 ms

Comportement

Discord

  • Réessaie uniquement sur les erreurs de limite de débit (HTTP 429).
  • Utilise retry_after de Discord lorsqu’il est disponible, sinon un backoff exponentiel.

Telegram

  • Réessaie sur les erreurs transitoires (429, timeout, connect/reset/closed, temporairement indisponible).
  • Utilise retry_after lorsqu’il est disponible, sinon un backoff exponentiel.
  • Les erreurs d’analyse Markdown ne sont pas réessayées ; elles reviennent à du texte brut.

Configuration

Définissez la politique de nouvelle tentative par fournisseur dans ~/.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,
      },
    },
  },
}

Remarques

  • Les nouvelles tentatives s’appliquent par requête (envoi de message, téléversement de média, réaction, sondage, sticker).
  • Les flux composites ne réessaient pas les étapes déjà terminées.