Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat#25: 대기열 관리 모듈 구현 #31

Open
wants to merge 21 commits into
base: develop
Choose a base branch
from
Open

Conversation

minnim1010
Copy link
Contributor

📄 작업 설명

대기열 순번을 갱신하는 모듈 구현

🚨 관련 이슈

🌈 작업 상황

  • 티켓 판매 스케줄링 작업 시 대기열 순번 초기화하는 로직 추가
  • 판매 중인 티켓의 경우, 일정 간격마다 대기열 순번을 갱신하는 로직 추가
    • 판매 중인 티켓의 판매 시각 정보를 벌크 조회
    • 판매 중인 티켓의 대기열 순번을 벌크 갱신
  • 성능 향상을 위해 티켓 판매 시각을 redis에 저장하는 TicketInfoRedisRepository에서 사용하는 Hash 구조 변경

- 대기열 순번을 일정 주기로 갱신하는 WaitOrderUpdateService 스케줄러 추가
- isUpdatable 조건을 통해 티켓 판매 시간 범위 내에서만 순번 증가
- 성능 향상을 위해 대기열 진입 범위 갱신을 bulk 로직으로 개선
- 성능 향상을 위해 현재 판매 중인 티켓들을 모두 조회하는 로직을 한 요청으로 가져오도록 개선
- 성능 향상을 위해 TicketInfoRedisRepository의 redis hash 구조 변경
@minnim1010 minnim1010 self-assigned this Mar 8, 2025
@minnim1010 minnim1010 added the enhancement New feature or request label Mar 8, 2025
@minnim1010 minnim1010 changed the title Feat#25: Feat#25: 대기열 관리 모듈 구현 Mar 8, 2025
Copy link

github-actions bot commented Mar 8, 2025

Code Coverage Report

Overall Project 83.1% -0.6% 🍏
Files changed 89.75% 🍏

Module Coverage
api-server 89.91% 🍏
queue-manager-server 87.41% -12.59% 🍏
schedule-server 62.49% 🍏
Files
Module File Coverage
api-server PurchaseService.java 76.29% 🍏
queue-manager-server WaitOrderUpdateService.java 100% 🍏
RedisWaitOrderListRepository.java 82.63% -17.37% 🍏
schedule-server RedisWaitOrderListRepository.java 100% 🍏
TicketScheduleJob.java 100% 🍏
TicketScheduleService.java 87.22% 🍏
FestivalSchedulerService.java 82.63% 🍏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

대기열 관리 모듈 구현
1 participant