15분
SLA: 이 시간 안에 끝나야 해
Day 4: 작업 실패하면 슬랙으로 알림 줘
SLA: 이 시간 안에 끝나야 해
Apache Airflow - 워크플로우 오케스트레이션 > Day 4: 작업 실패하면 슬랙으로 알림 줘
학습 목표
SLA를 설정하고 위반 알림을 받을 수 있다 타임아웃과 SLA의 차이를 이해한다
SLA vs Timeout
| 항목 | SLA | Timeout |
|---|---|---|
| 동작 | 알림만 | Task 강제 종료 |
| 목적 | 지연 모니터링 | 무한 실행 방지 |
| 설정 | Task/DAG | Task |
SLA 설정
에디터 로딩 중...
동작:
- Task가 1시간 내 완료 안 되면 → sla_miss_callback 호출
- Task는 계속 실행됨 (중단 안 됨)
Timeout 설정
에디터 로딩 중...
동작:
- Task가 2시간 초과 → AirflowTaskTimeout 에러로 종료
- on_failure_callback 호출됨
실무 권장 설정
에디터 로딩 중...
시나리오:
- 정상: 30분에 완료
- 지연: 70분 → SLA 알림 (Task는 계속 실행)
- 문제: 120분 → Timeout으로 강제 종료
DAG 레벨 타임아웃
에디터 로딩 중...
ETL이 무한히 돌면 리소스 낭비 → dagrun_timeout으로 방지
SLA 콜백
에디터 로딩 중...
실무 팁
"SLA는 느슨하게, Timeout은 타이트하게"
- SLA: 보통 완료 시간 + 50%
- Timeout: 최악의 경우 + 50%
에디터 로딩 중...