Skip to content

링크 저장 시 AI 요약 생성 비동기 처리 리팩토링 및 연동 #179

@ckdals4600

Description

@ckdals4600

이슈 배경

  • 링크 저장 API 응답 지연을 방지하기 위해 도입된 SummaryWorker가 현재 연동되지 않고 방치된 상태임.
  • 기존 SummaryWorker 내부에서 @Transactional 메서드를 직접 호출하여 스프링 AOP 프록시를 우회하는 트랜잭션 미적용 버그 존재함.
  • 스레드/큐를 제어하는 인프라 로직과 AI 호출/DB 저장을 수행하는 비즈니스 로직이 한 클래스에 결합되어 단일 책임 원칙(SRP) 위반 상태임.
  • 해당 문제들을 해결하고 실제 링크 등록 프로세스에 요약 생성 큐를 연동하고자 함.

이슈 내용

  • 비즈니스 로직
    • SummaryService 신규 생성 및 비즈니스 로직(AI 서버 호출, Summary 엔티티 생성 및 DB 저장) 이관.
    • 분리된 서비스 객체를 통해 트랜잭션 정상 커밋/롤백 보장.
    • SummaryWorker는 큐 폴링(Polling) 및 SummaryService 호출 역할만 수행하도록 경량화.
    • 링크 저장 메인 로직 완료 직후(또는 이벤트 발행을 통해) SummaryQueue.addToQueue(linkId)를 호출하여 비동기 요약 파이프라인 연동.
  • 테스트
    • SummaryService 비즈니스 로직 단위 테스트 작성.
    • 링크 저장부터 비동기 요약 큐 적재 및 Worker 처리에 이르는 통합 테스트 검증.

참고 자료

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions