Skip to content

[ Feature ] - AI-service 월간 리포트 배치 스케줄러 및 오케스트레이터 구현 #80

Description

@bigwaveBigwave

🛠️ 기능 설명 (Feature Description)

매월 1일 실행되어 전체 사용자의 지난달 금융 데이터를 집계하고 AI 리포트 생성 및 발송 흐름을 제어하는 배치 스케줄러 및 오케스트레이션 레이어를 구현합니다.


🛠️ 세부 구현 내용 (Tasks)

  • @EnableScheduling 적용 및 설정 위치 확인
    • 메인 클래스 또는 독립된 Config 클래스에 스케줄링 활성화 설정
  • 월간 스케줄러 클래스 (MonthlyAiReportScheduler) 작성
    • 매월 1일 자정(또는 지정 시각) 실행 크론 표현식 적용 (0 0 0 1 * ?)
  • 오케스트레이터 서비스 (MonthlyAiReportOrchestrationService) 설계
    • 배치 대상 사용자 조회 -> 거래 분석 -> 재무 진단 -> AI 문구/추천 생성 -> 리포트 저장 -> 알림 발송 전체 파이프라인 관리 로직 배치
  • 중복 실행 대응 및 갱신 정책 (Upsert) 구현
    • (user_id, year_month) 유니크 제약조건 고려
    • 동일 연월 데이터 재실행 시 기존 리포트 UPDATE 또는 UPSERT 처리
  • 배치 실행 트래킹 및 예외 처리
    • 사용자별 실패 건이 전체 배치를 중단시키지 않도록 예외 격리(Try-Catch) 처리
    • 시작/완료/실패 카운트 및 실행 시간 로그 기록

📝 Check-lists

  • 메인/Config에 @EnableScheduling 적용
  • @Scheduled 매월 1일 실행 크론 설정 완료
  • MonthlyAiReportOrchestrationService 파이프라인 뼈대 작성
  • (user_id, year_month) 중복 실행 시 Upsert/갱신 로직 검증
  • 예외 처리 핸들링 및 실행 로그 기록 작성
  • 단체/개별 사용자 대상 배치 스케줄러 단위 테스트 작성

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions