15

SLA: 이 시간 안에 끝나야 해

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

학습 목표

SLA를 설정하고 위반 알림을 받을 수 있다 타임아웃과 SLA의 차이를 이해한다

SLA vs Timeout

항목SLATimeout
동작알림만Task 강제 종료
목적지연 모니터링무한 실행 방지
설정Task/DAGTask

SLA 설정

에디터 로딩 중...

동작:

  • Task가 1시간 내 완료 안 되면 → sla_miss_callback 호출
  • Task는 계속 실행됨 (중단 안 됨)

Timeout 설정

에디터 로딩 중...

동작:

  • Task가 2시간 초과 → AirflowTaskTimeout 에러로 종료
  • on_failure_callback 호출됨

실무 권장 설정

에디터 로딩 중...

시나리오:

  1. 정상: 30분에 완료
  2. 지연: 70분 → SLA 알림 (Task는 계속 실행)
  3. 문제: 120분 → Timeout으로 강제 종료

DAG 레벨 타임아웃

에디터 로딩 중...

ETL이 무한히 돌면 리소스 낭비 → dagrun_timeout으로 방지


SLA 콜백

에디터 로딩 중...

실무 팁

"SLA는 느슨하게, Timeout은 타이트하게"

  • SLA: 보통 완료 시간 + 50%
  • Timeout: 최악의 경우 + 50%
에디터 로딩 중...