Перейти к содержанию

Практикум: Бюджет повторов и число запросов на сервере

Пятьдесят последовательных вызовов идут на сервер, который всегда отвечает 503. При трёх попытках и budget_ratio=None сервер получает 150 запросов. При budget_ratio=0.1 в проверенном запуске получилось 64.

Circuit breaker отключён, чтобы проверить именно бюджет повторов. В clientwright 0.5.0 новый origin получает десять разрешений на повтор, а следующие вызовы пополняют запас с заданным коэффициентом. Проверяются 50 записей вызовов, совпадение серверного счётчика с числом попыток, диапазон запросов (от 60 до 64) и причина пропуска budget. Ограничение действует внутри runtime клиента; это не общая квота кластера и не точный процент для любой серии вызовов.

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

Запустите из каталога docs/blog/lab/2026-09-07-retry-budget в копии репозитория. Версии зависимостей закреплены в requirements.txt.

uv run --no-project --python 3.13 --with-requirements requirements.txt python storm_lab.py

Исходный код практикума на GitHub.