Conversation
- @requiredargsconstructor인데 직접 주입하고 있음 - SqsListener에 value 선언
- characterEncoding=utf8mb4
- oauth redirect url을 환경 변수로 받아옴
spring에서 공식적으로 지원하는 health check 방식 채용
- 숫자 식별 코드를 제거합니다. -> 숫자코드가 현실적으로 의미 없음
- 가장 기본이 되는 basic한 Exception이 ErrorCode를 받을 수 있도록 새롭게 정의
- 새로 정의한 Exception에 맞춰 GlobalExceptionHandler 재정의
UserAlreadyRegisteredException 필요성 없음 제거
관심사 분리 원칙에 따라 security 관련 예외는 전부 security-core에 위치
WebtoonTriggerResponse 클래스를 삭제하고, 새로운 WebtoonTriggerResponse 클래스를 response 패키지로 이동하여 성공 여부와 taskId를 포함하도록 수정하였음. 또한, WebtoonTriggerRequest 클래스를 새로 추가하여 웹툰 트리거 요청에 필요한 필드를 정의하였음.
중복 리소스 예외와 엔티티 미발견 예외 발생 시 로그 경고 후 예외를 다시 던지도록 수정하여 오류 처리를 강화하였음.
정기적으로 에피소드 업데이트와 통계 집계를 수행하는 EpisodeUpdateScheduler 및 StatisticsUpdateScheduler 클래스를 추가하였음. 각각 매시간과 매일 자정에 작업을 실행하도록 설정하였으며, 작업 실행 결과를 Slack에 알리도록 구성하였음. 기존의 웹툰 업데이트 스케줄러(WebtoonUpdateScheduler)도 TaskCoordinator를 사용하도록 리팩토링하였음.
작업의 흐름을 조정하고 관리하는 기본 인터페이스인 TaskCoordinator를 추가하였음. 이 인터페이스는 작업 실행, 검증, 정리 작업 및 조정자 이름 반환 기능을 포함하고 있음.
관리자 웹툰 트리거 요청을 처리하는 AdminWorkerController와 AdminWorkerService 클래스를 추가하였음. 새로운 API 엔드포인트를 통해 웹툰 트리거 요청을 수신하고, 요청 처리 결과를 반환하도록 구현하였으며, 헬스 체크 기능도 포함됨.
…및 상태 필드 제거 WebtoonTriggerResponse의 패키지 경로를 response로 변경하고, 예외 처리 응답에서 status 필드를 제거하여 응답 구조를 간소화하였음.
…필요한 로그 제거 및 유효성 검사 메서드 위치 변경 WebtoonEpisodeUpdateService에서 유효성 검사 메서드를 주석으로 설명하고 위치를 변경하였으며, WebtoonRegistrationService에서 불필요한 로그를 제거하여 코드 가독성을 향상시켰음.
웹툰 중복 체크를 위한 WebtoonDuplicateCheckService 클래스를 새로 추가하고, 웹툰 등록 서비스(WebtoonRegistrationService)에서 중복 체크 로직을 통합하여 중복 웹툰 처리 방식을 개선하였음. 또한, WebtoonRepository에 제목과 작가명으로 웹툰을 찾는 쿼리를 추가하여 성능을 최적화하였음.
WebtoonCreateCommend 클래스에 toBuilder 속성을 추가하여 객체 복제를 용이하게 하였으며, WebtoonDuplicateCheckService의 유닛 테스트를 새로 작성하여 중복 웹툰 확인 로직의 정확성을 검증하였음. 또한, 웹툰 등록 서비스에서 중복 체크 로직을 통합하여 코드의 일관성을 높였음.
웹툰 등록 서비스(WebtoonRegistrationService)에서 중복 체크 로직을 간소화하고, 예외 처리 시 로그 메시지를 개선하여 가독성을 높였음. 또한, 이벤트 핸들러에서 잘못된 요청 및 중복 리소스 예외에 대한 로그 메시지를 구체화하여 오류 추적을 용이하게 하였음. 웹툰 생성 및 업데이트 관련 로그 메시지도 통일성을 유지하도록 수정하였음.
여러 서비스 및 핸들러 클래스에서 불필요한 임포트를 정리하고, 필요한 임포트를 추가하여 코드 가독성을 향상시켰음. 또한, 일부 DTO 클래스의 구조를 개선하여 일관성을 높였음.
웹툰 트리거 요청을 배치로 나누어 처리하는 기능을 추가하였으며, 각 배치에 대해 재시도 로직을 구현하여 안정성을 높였음. 배치 처리 결과를 로그로 기록하고, 전체 처리 결과 메시지를 생성하여 반환하도록 수정하였음. 배치 크기 및 지연 시간 상수를 정의하여 코드의 가독성을 향상시켰음.
웹툰 트리거 요청의 배치 처리를 위한 새로운 BatchProcessor, BatchResult, BatchResultAggregator, RetryProcessor 클래스를 추가하였으며, 배치 처리 결과를 집계하고 재시도 로직을 구현하여 안정성을 높였음. AdminWorkerService에서 배치 처리 로직을 간소화하고, 전체 처리 결과를 반환하는 방식으로 수정하였음. 배치 크기 및 지연 시간 설정을 application.yml에 추가하여 유연성을 향상시켰음.
BatchProcessingResult, BatchResult, BatchResultAggregator, RetryProcessor 클래스를 추가하여 배치 처리 결과를 관리하고 재시도 로직을 구현하였음. WebtoonTriggerBatchProcessingStrategy에서 배치 요청을 처리하는 로직을 개선하고, 배치 간 지연 및 결과 로깅 기능을 추가하여 안정성을 높였음. 배치 처리 결과를 반환하는 메서드를 통해 전체 처리 결과를 명확히 전달하도록 수정하였음.
BatchProcessingResult, BatchProcessor, BatchResult, BatchResultAggregator, RetryProcessor 클래스를 삭제하여 불필요한 코드 및 의존성을 정리하였음. 배치 처리 로직의 간소화 및 유지보수성을 향상시키기 위한 조치임.
AdminWorkerService에서 배치 처리 로직을 개선하고, BatchProcessor 대신 StrategyFactory를 사용하여 배치 처리 전략을 통합하였음. 불필요한 임포트를 제거하고, 배치 처리 결과 로깅 방식을 수정하여 코드 가독성을 향상시켰음.
WebtoonTriggerBatchProcessingStrategy에서 배치 크기를 5에서 3으로 수정하여 배치 처리의 유연성을 향상시켰음.
1. core-web-support 모듈을 제거 + CookieUtils 클래스를 internal.security.utils 패키지로 이동 -> 관련 의존성을 정리하여 코드의 간결성을 높였음.
기존 AI가 작성한 코드 제거 -> 비즈니스 로직은 직접 작성한다.
주석을 정리하여 코드 가독성을 향상시키고, 웹툰 등록 비즈니스 로직 작성을 위한 TODO 주석을 추가하였음.
불필요한 배치 처리 설정을 application.yml에서 삭제하여 코드의 간결성을 높였음.
AuthApplication, JoinController, TokenReissueController 등 Auth 모듈의 모든 관련 파일을 삭제하여 코드베이스를 정리하고, 불필요한 의존성을 제거하였음.
Toonpick 배치 모듈의 모든 관련 파일을 삭제하여 코드베이스를 정리하고, 불필요한 의존성을 제거하였음.
Feature/update batch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#49
#50
#51