Ошибки и повторные попытки
Не повторяйте запрос при любой ошибке. Исправьте ошибки 400, 401, 403 и 404, прежде чем отправлять запрос снова. Повторяйте запросы после тайм-аутов, ответов 429 и временных ошибок 5xx лишь ограниченное число раз, используя экспоненциальную задержку со случайным разбросом.
GetRouter не гарантирует наличие Retry-After в каждом ответе 429. Если заголовок присутствует, соблюдайте указанную задержку; иначе используйте ограниченную экспоненциальную задержку. Защищайте вызовы инструментов, задачи обработки медиаданных и другие операции с побочными эффектами от повторного выполнения.
Записывайте в журнал временную метку, состояние, эндпоинт, идентификатор модели, идентификатор запроса и номер повторной попытки. Никогда не записывайте полный ключ API.
