Política de reintentos
Objetivos
- Reintentar por solicitud HTTP, no por flujo multi-paso.
- Preservar el orden reintentando solo el paso actual.
- Evitar duplicar operaciones no idempotentes.
Valores por defecto
- Intentos: 3
- Tope máximo de delay: 30000 ms
- Jitter: 0.1 (10 por ciento)
- Valores por defecto por proveedor:
- Delay mínimo de Telegram: 400 ms
- Delay mínimo de Discord: 500 ms
Comportamiento
Discord
- Solo reintenta en errores de límite de tasa (HTTP 429).
- Usa
retry_afterde Discord cuando está disponible, de lo contrario backoff exponencial.
Telegram
- Reintenta en errores transitorios (429, timeout, connect/reset/closed, temporalmente no disponible).
- Usa
retry_aftercuando está disponible, de lo contrario backoff exponencial. - Los errores de parseo de Markdown no se reintentan; recurren a texto plano.
Configuración
Configura la política de reintentos por proveedor en ~/.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,
},
},
},
}
Notas
- Los reintentos aplican por solicitud (envío de mensaje, subida de media, reacción, encuesta, sticker).
- Los flujos compuestos no reintentan pasos ya completados.