Skip to content

Story: Lock 타임아웃 & 알림 처리

메타

항목
Story IDE-05-S-09
EpicE-05 연동 자동화
상태ready-for-dev
우선순위P1
규모S
담당 개발자하록 (BE), 수민 (FE)

사용자 스토리

As a 셀러,
I want Lock 시간이 초과되면 적절한 안내를 받고 싶다,
So that 당황하지 않고 다시 시도할 수 있다.


수락 기준 (Acceptance Criteria)

AC-01: 타임아웃 감지

항목내용
GivenLock 보유 중일 때
When2분이 경과하면
Then시스템이 타임아웃을 감지한다

AC-02: 셀러 화면 안내

항목내용
Given타임아웃이 발생했을 때
When셀러 화면에 알림이 오면
Then"시간 초과. 다시 시도해주세요" 메시지와 재시도 버튼이 표시된다

AC-03: Lock 자동 해제

항목내용
Given타임아웃이 발생했을 때
WhenLock이 해제되면
Then대기열의 다음 셀러가 자동으로 Lock을 획득한다

AC-04: 어드민 알림

항목내용
Given타임아웃 발생률이 높을 때 (>20%)
When모니터링 시스템에서 감지하면
Then운영팀에 Slack 알림이 발송된다

태스크 분해

Task 1: BE - 타임아웃 처리 AC-01, AC-03

  • [ ] 1.1: Lock 만료 체크 스케줄러 (1초 간격)
  • [ ] 1.2: 만료 시 Lock 해제 + 세션 상태 변경
  • [ ] 1.3: 대기열 자동 진행

Task 2: BE - WebSocket 알림 AC-02

  • [ ] 2.1: LOCK_TIMEOUT 이벤트 정의
  • [ ] 2.2: 타임아웃 시 클라이언트에 푸시

Task 3: FE - 타임아웃 UI AC-02

  • [ ] 3.1: 타임아웃 모달/토스트 컴포넌트
  • [ ] 3.2: 재시도 버튼 기능
  • [ ] 3.3: 남은 시간 카운트다운 UI

Task 4: 모니터링 AC-04

  • [ ] 4.1: 타임아웃 발생률 메트릭 수집
  • [ ] 4.2: 20% 초과 시 Slack 알림

타임아웃 화면

┌─────────────────────────────────────────────────────┐
│  ⏱️ 시간이 초과되었어요                              │
│                                                     │
│  2분 내에 인증을 완료하지 못했어요.                  │
│  다시 시도하면 처음부터 진행됩니다.                  │
│                                                     │
│  💡 팁: 쿠팡에서 "인증번호 발송"을 빠르게            │
│       클릭해주세요.                                  │
│                                                     │
│  [다시 시도하기]                                    │
└─────────────────────────────────────────────────────┘

Dev Notes

알림 조건

지표조건알림 채널
타임아웃 발생률> 20% (최근 1시간)Slack
연속 타임아웃3회 연속Slack + 어드민

의존성

  • E-05-S-01: Exclusive Lock
  • E-05-S-05: WebSocket

생성일: 2026-01-20

장사왕 Product Team