18분
실습: @retry(max_attempts=3) 구현
반복되는 로깅 코드가 지겨워 - 데코레이터
실습: @retry(max_attempts=3) 구현
Python 고급: 제너레이터, 데코레이터, 컨텍스트 매니저, Type Hints > 반복되는 로깅 코드가 지겨워 - 데코레이터
학습 목표
인자를 받는 데코레이터를 직접 구현한다 예외 처리와 재시도 로직을 결합한다 지수 백오프를 구현한다
미션: 재시도 데코레이터
상황
API 호출이 가끔 실패합니다. 자동 재시도 로직이 필요해요!
요구사항
max_attempts: 최대 시도 횟수delay: 재시도 간격 (초)backoff: 지수 백오프 배수 (기본 2)- 모든 시도 실패 시 마지막 예외 발생
지수 백오프란?
재시도 간격이 점점 증가하는 전략:
- 1차 실패: 1초 대기
- 2차 실패: 2초 대기 (1 × 2)
- 3차 실패: 4초 대기 (2 × 2)
서버 부하를 줄이고 복구 시간을 확보합니다.
에디터 로딩 중...
정답 보기
에디터 로딩 중...