Повтор вызова внешнего сервиса с подменяемой зависимостью
Напишите функцию retry_call(func, attempts).
- Вызывает
func()без аргументов доattemptsраз. - Как только вызов прошёл без исключения — сразу возвращает его результат.
- Если все попытки закончились исключением — пробрасывает последнее исключение.
- Если
attemptsменьше 1 — бросаетValueError, не вызываяfunc.
Пауз между попытками не нужно. Функцию передают параметром — поэтому в тестах вместо настоящего HTTP-клиента подставляется функция, которая падает нужное число раз.
заготовка решения
def retry_call(func, attempts):
# ваш код
return None