20

재시도: 일시적 오류 극복하기

Day 4: 작업 실패하면 슬랙으로 알림 줘

학습 목표

재시도 파라미터를 설정할 수 있다 Exponential Backoff를 이해한다

일시적 오류 vs 영구적 오류

일시적 오류 (재시도로 해결 가능):

  • 네트워크 타임아웃
  • API Rate Limit
  • DB 일시 장애

영구적 오류 (재시도해도 안 됨):

  • 잘못된 쿼리
  • 권한 없음
  • 파일 형식 오류

기본 재시도 설정

에디터 로딩 중...

동작:

  1. Task 실패
  2. 5분 대기
  3. 1차 재시도
  4. 실패 시 5분 대기
  5. 2차 재시도
  6. 실패 시 5분 대기
  7. 3차 재시도
  8. 실패 시 최종 실패 처리

Exponential Backoff

재시도 간격을 점점 늘리는 전략.

에디터 로딩 중...

간격: 1분 → 2분 → 4분 → 8분 (최대 30분)

왜 필요한가?

  • API Rate Limit: 잠시 후 풀림
  • DB 부하: 시간이 지나면 안정
  • 일정 간격 재시도는 문제를 악화시킬 수 있음

Task별 다른 재시도 설정

에디터 로딩 중...

재시도 제외 (특정 에러)

에디터 로딩 중...

AirflowFailException: 재시도 없이 즉시 실패