Skip to content

fix: Redis Stream 신청 메시지 실패 처리 보강#235

Merged
Ji-minhyeok merged 4 commits into
developfrom
refactor/#234/lesson-apply-failure-handling
May 12, 2026
Merged

fix: Redis Stream 신청 메시지 실패 처리 보강#235
Ji-minhyeok merged 4 commits into
developfrom
refactor/#234/lesson-apply-failure-handling

Conversation

@Ji-minhyeok
Copy link
Copy Markdown
Collaborator

🚀 작업 개요

  • Redis Stream 기반 선착순 레슨 신청 파이프라인의 실패 처리 안정성을 보강하고 수락제/선착순 신청 경로를 분리했습니다.

🛠️ 작업 내용

  • 수락제 레슨 신청 API와 선착순 레슨 신청 API를 분리했습니다.
  • 선착순 신청은 Redis Stream 기반 비동기 처리 경로를 사용하도록 정리했습니다.
  • Consumer 배치 처리 실패 시 chunk 단위 재시도 후 개별 처리로 fallback 하도록 개선했습니다.
  • 시스템 예외 발생 시 메시지를 ACK/XDEL하지 않고 pending 상태로 남겨 재처리 가능하도록 변경했습니다.
  • Pending 메시지 회수 스케줄러를 추가했습니다.
  • Admission 단계에서 Stream 적재 실패 시 Waiting Room으로 재등록하는 보정 로직을 추가했습니다.
  • 레슨 신청/참가 테이블에 (user_id, lesson_id) 유니크 제약을 추가했습니다.
  • Swagger API 태그를 정리했습니다.

✅ PR 유형

  • 버그 수정
  • 성능 개선
  • 새로운 기능 추가
  • 코드 리팩토링
  • 파일 혹은 폴더명 수정
  • 문서 수정
  • 설정 변경

✅ Check List

  • 코드가 정상적으로 컴파일되나요?
  • 테스트 코드를 통과했나요?
  • merge할 브랜치의 위치를 확인했나요?
  • Label을 지정했나요?

🔗 관련 이슈

💬 기타 참고 사항

  • Consumer 배치 실패 시 batch → chunk → individual fallback 흐름을 로컬에서 확인 완료

@Ji-minhyeok Ji-minhyeok self-assigned this May 12, 2026
@Ji-minhyeok Ji-minhyeok added the bug Something isn't working label May 12, 2026
@Ji-minhyeok Ji-minhyeok merged commit 364198e into develop May 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant