Лимиты и повторы
Ошибка 429 (Rate limit exceeded) означает достижение лимита скорости или параллелизма — снизьте нагрузку и повторяйте, как ниже.
Рекомендации
- Снижайте параллелизм и частоту повторов; не долбите одну модель
- Экспоненциальная задержка (1с → 2с → 4с) со случайным джиттером, чтобы повторы не совпадали
- Сократите число одновременных длительных потоковых соединений
Пример повтора с задержкой
python
import random, time
for attempt in range(5):
resp = call_api() # your request function
if resp.status_code != 429:
break
delay = 2 ** attempt + random.random() # 1s -> 2s -> 4s... + jitter
time.sleep(delay)