---
read_when:
    - Обновление поведения повторных попыток или значений по умолчанию для провайдера
    - Отладка ошибок отправки провайдера или ограничений частоты запросов
summary: Политика повторных попыток для исходящих вызовов провайдеров
title: Политика повторных попыток
x-i18n:
    generated_at: "2026-06-28T22:53:03Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 7720092499effdfa011fc0a0310adb2ecddca9e94f57f749794eab1c9ab4c922
    source_path: concepts/retry.md
    workflow: 16
---

## Цели

- Повторять попытку для каждого HTTP-запроса, а не для всего многошагового потока.
- Сохранять порядок, повторяя только текущий шаг.
- Избегать дублирования неидемпотентных операций.

## Значения по умолчанию

- Попытки: 3
- Максимальный предел задержки: 30000 мс
- Джиттер: 0,1 (10 процентов)
- Значения провайдеров по умолчанию:
  - Минимальная задержка Telegram: 400 мс
  - Минимальная задержка Discord: 500 мс

## Поведение

### Провайдеры моделей

- OpenClaw позволяет SDK провайдеров обрабатывать обычные короткие повторные попытки.
- Для SDK на основе Stainless, таких как Anthropic и OpenAI, ответы, допускающие повторную попытку
  (`408`, `409`, `429` и `5xx`), могут включать `retry-after-ms` или
  `retry-after`. Когда это ожидание превышает 60 секунд, OpenClaw добавляет
  `x-should-retry: false`, чтобы SDK сразу возвращал ошибку, а механизм
  переключения модели при сбое мог перейти к другому профилю аутентификации или резервной модели.
- Переопределите предел с помощью `OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>`.
  Установите значение `0`, `false`, `off`, `none` или `disabled`, чтобы SDK соблюдали длительные
  ожидания `Retry-After` внутри себя.

### Discord

- Повторяет попытки при ошибках ограничения частоты (HTTP 429), тайм-аутах запросов, ответах HTTP 5xx
  и временных транспортных сбоях, таких как ошибки DNS-поиска, сбросы соединения,
  закрытия сокетов и сбои fetch.
- Использует `retry_after` Discord, когда он доступен, иначе экспоненциальную задержку.

### Telegram

- Повторяет попытки при временных ошибках (429, тайм-аут, connect/reset/closed, temporarily unavailable).
- Использует `retry_after`, когда он доступен, иначе экспоненциальную задержку.
- Ошибки разбора Markdown не повторяются; вместо этого используется обычный текст.

## Конфигурация

Задайте политику повторных попыток для каждого провайдера в `~/.openclaw/openclaw.json`:

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

## Примечания

- Повторные попытки применяются к каждому запросу (отправка сообщения, загрузка медиафайла, реакция, опрос, стикер).
- Составные потоки не повторяют уже завершенные шаги.

## Связанные материалы

- [Переключение модели при сбое](/ru/concepts/model-failover)
- [Очередь команд](/ru/concepts/queue)
