15분
"새벽 3시에 ETL 실패했는데 아무도 몰랐어요"
Day 4: 작업 실패하면 슬랙으로 알림 줘
"새벽 3시에 ETL 실패했는데 아무도 몰랐어요"
Apache Airflow - 워크플로우 오케스트레이션 > Day 4: 작업 실패하면 슬랙으로 알림 줘
학습 목표
에러 핸들링의 중요성을 이해한다 프로덕션 파이프라인에 필요한 안전장치를 파악한다
월요일 아침, 긴급 회의
팀장: "주말 동안 ETL이 계속 실패했어. 3일치 데이터가 없어." DBA: "왜 아무도 몰랐지?" 나: "..."
로그를 확인해보니:
- 금요일 새벽: API 타임아웃으로 실패
- 토요일 새벽: 재시도 없이 계속 실패
- 일요일 새벽: 같은 에러 반복
문제: 실패 알림이 없었다. 재시도도 없었다.
프로덕션 파이프라인에 필요한 것
| 기능 | 없으면? |
|---|---|
| 재시도 (Retry) | 일시적 오류에 바로 실패 |
| 알림 (Alert) | 실패해도 아무도 모름 |
| 타임아웃 (Timeout) | 무한 대기 |
| SLA | 지연되어도 모름 |
| 로깅 (Logging) | 원인 파악 불가 |
오늘 배울 것
- 재시도 전략: 몇 번, 얼마 간격으로?
- 콜백 (Callback): 성공/실패 시 알림
- SLA: "이 시간 안에 끝나야 해"
- 센서 (Sensor): "이 조건이 충족될 때까지 기다려"
목표: 혼자 일어나서 혼자 해결되는 파이프라인