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

[NAYB-109] refactor: 회원의 등급 업데이트 로직 리팩토링 #115

Merged
merged 3 commits into from
Sep 19, 2023

Conversation

hseong3243
Copy link
Collaborator

@hseong3243 hseong3243 commented Sep 19, 2023

⛏ 작업 사항

  • 기존에 서비스 메서드에서 붙어있던 @Scheduled를 별도의 스케줄러 클래스로 분리하였습니다.
  • 기존 회원 등급 업데이트 시 1000건씩 조회, 등급별 분류, 업데이트를 반복하던 것에서 일괄 조회 후 분류, 업데이트를 수행하도록 변경하였습니다.

📝 작업 요약

  • GradeService로부터 스케줄링 어노테이션을 GradeScheduler로 분리
  • GradeService updateUserGrade 메서드가 호출하는 리포지토리 쿼리를 페이지네이션에서 일괄 조회로 변경

💡 관련 이슈

@github-actions
Copy link

Test Results

355 tests  ±0   355 ✔️ ±0   12s ⏱️ -1s
177 suites ±0       0 💤 ±0 
177 files   ±0       0 ±0 

Results for commit 968f244. ± Comparison against base commit f8914bd.

@Component
@RequiredArgsConstructor
@EnableSchedulerLock(defaultLockAtMostFor = "PT60S")
public class GradeScheduler {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스케줄러 코드를 따로 분리하신 이유가 있으신가요??

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

스케줄러 어노테이션이랑 함께 사용하면 트랜잭션 AOP가 제대로 적용되지 않는다고 문제가 종종 발생한다고 하더라고요. 그 때문에 분리하였습니다!

@hseong3243 hseong3243 merged commit f5db0b7 into develop Sep 19, 2023
3 checks passed
@hseong3243 hseong3243 deleted the feature/NAYB-109 branch September 19, 2023 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants