Политика повторных попыток¶
Цели¶
- Повторять попытки на уровне отдельного HTTP‑запроса, а не многошагового потока.
- Сохранять порядок, повторяя только текущий шаг.
- Избегать дублирования неидемпотентных операций.
Значения по умолчанию¶
- Попытки: 3
- Максимальный предел задержки: 30000 мс
- Jitter: 0.1 (10 процентов)
- Значения по умолчанию провайдеров:
- Минимальная задержка Telegram: 400 мс
- Минимальная задержка Discord: 500 мс
Поведение¶
Discord¶
- Повторные попытки выполняются только при ошибках ограничения по частоте (HTTP 429).
- Используется
retry_afterпри наличии, иначе — экспоненциальная задержка.
Telegram¶
- Повторные попытки выполняются при временных ошибках (429, тайм-аут, connect/reset/closed, временно недоступно).
- Используется
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,
},
},
},
}
Примечания¶
- Повторные попытки применяются к каждому запросу (отправка сообщения, загрузка медиа, реакция, опрос, стикер).
- Составные потоки не повторяют уже завершённые шаги.