18

실습: @retry(max_attempts=3) 구현

반복되는 로깅 코드가 지겨워 - 데코레이터

학습 목표

인자를 받는 데코레이터를 직접 구현한다 예외 처리와 재시도 로직을 결합한다 지수 백오프를 구현한다

미션: 재시도 데코레이터

상황

API 호출이 가끔 실패합니다. 자동 재시도 로직이 필요해요!

요구사항

  1. max_attempts: 최대 시도 횟수
  2. delay: 재시도 간격 (초)
  3. backoff: 지수 백오프 배수 (기본 2)
  4. 모든 시도 실패 시 마지막 예외 발생

지수 백오프란?

재시도 간격이 점점 증가하는 전략:

  • 1차 실패: 1초 대기
  • 2차 실패: 2초 대기 (1 × 2)
  • 3차 실패: 4초 대기 (2 × 2)

서버 부하를 줄이고 복구 시간을 확보합니다.

에디터 로딩 중...
정답 보기
에디터 로딩 중...