Skip to content

TOONPICK : 웹툰 자동 업데이트 로직#51

Merged
ImGdevel merged 122 commits into
developfrom
feature/update-batch
Jul 1, 2025
Merged

TOONPICK : 웹툰 자동 업데이트 로직#51
ImGdevel merged 122 commits into
developfrom
feature/update-batch

Conversation

@ImGdevel

@ImGdevel ImGdevel commented Jul 1, 2025

Copy link
Copy Markdown
Member

주요 변경 사항

  • webtoon 정보 자동 업데이트 프로세스 구현
  • worker app의 리팩토링을 진행

테스트 내역

  • 유닛 테스트 통과
  • 통합 테스트 통과
  • 로컬/스테이징 환경에서 직접 검증

배포/마이그레이션 시 주의사항

  • test 서버에서 AWS 인프라간의 엑세스 관계를 유의 할것

ImGdevel and others added 30 commits May 20, 2025 22:11
Connection.setNetworkTimeout cannot be called on a closed connection
문제 수정
webtoonStatistics -> statistics
command : 작업 요청 DTO
resualt: 결과 반환 DTO
message: 다른 서버간 메시지 규격 DTO
command : 작업 요청 DTO
resualt: 결과 반환 DTO
message: 다른 서버간 메시지 규격 DTO
AuthorSNSRepository
WebtoonEpisodeLinkRepository
WebtoonEpisodeRepository
AuthorSNSRepository
WebtoonEpisodeLinkRepository
WebtoonEpisodeRepository
웹툰 별 에피소드 조회 쿼리
시즌 별 에피소드 조회 쿼리
웹툰 별 에피소드 조회 쿼리
시즌 별 에피소드 조회 쿼리

+ 에피소드 번호 기반으로 정렬 추가
webtoon episode 엔티티와 webtoon espisode link의 Many To One 관계에서 필수 요건
(webtoon episode호출시 webtoon episode link도 반드시 호출된다)
OneToMany 관계를 author에도 명시
불러오기 타입은 Lazy로 (보통 상세 페이지 아니고서야 필요 없음)
ImGdevel added 20 commits June 28, 2025 22:34
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 배치 모듈의 모든 관련 파일을 삭제하여 코드베이스를 정리하고, 불필요한 의존성을 제거하였음.
@ImGdevel ImGdevel self-assigned this Jul 1, 2025
@ImGdevel ImGdevel added enhancement New feature or request refactoring Code refactoring bug-fix labels Jul 1, 2025
@ImGdevel ImGdevel merged commit c8f63f5 into develop Jul 1, 2025
1 of 2 checks passed
@github-project-automation github-project-automation Bot moved this to Done in @TOONPICK Jul 1, 2025
@ImGdevel ImGdevel changed the title Feature/update batch TOONPICK : 웹툰 자동 업데이트 로직 Jul 1, 2025
@ImGdevel ImGdevel deleted the feature/update-batch branch February 14, 2026 07:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix enhancement New feature or request refactoring Code refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant