Декораторы Python: задачи на retry, rate limiter, кэш и Circuit Breaker

Декоратор становится интереснее простого логирования, когда хранит историю вызовов и принимает решения по ней. Здесь вы реализуете ограничитель частоты, повтор с резервным вызовом и отключение функции после серии сбоев. В блоке кэширования есть вытеснение по весу, таймаут простоя и выбор аргументов для ключа. Проверяйте не только возвращаемое значение: для этих упражнений важны число реальных вызовов, порядок действий и сохранение метаданных функции.

Как заниматься

13 заданий ниже можно проходить по порядку или выбирать нужную проблему. В заданиях на код есть проверка решения; в вопросах — проверка выбранного ответа. Требования к реализации и примеры приведены на страницах заданий.

Вся практика собрана в бесплатном большом задачнике по Python для разработчиков.

Смежная практика

Декораторы Python: задачи на retry, rate limiter, кэш и Circuit Breaker