🛠️ 기능 설명 (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
🛠️ 기능 설명 (Feature Description)
매월 1일 실행되어 전체 사용자의 지난달 금융 데이터를 집계하고 AI 리포트 생성 및 발송 흐름을 제어하는 배치 스케줄러 및 오케스트레이션 레이어를 구현합니다.
🛠️ 세부 구현 내용 (Tasks)
@EnableScheduling적용 및 설정 위치 확인MonthlyAiReportScheduler) 작성0 0 0 1 * ?)MonthlyAiReportOrchestrationService) 설계(user_id, year_month)유니크 제약조건 고려UPDATE또는UPSERT처리📝 Check-lists
@EnableScheduling적용@Scheduled매월 1일 실행 크론 설정 완료MonthlyAiReportOrchestrationService파이프라인 뼈대 작성(user_id, year_month)중복 실행 시 Upsert/갱신 로직 검증