Skip to content

[Refactor] "학기별" 랭킹 스냅샷 스케줄러 자동화 개선 #621

@yejun05011

Description

@yejun05011

이슈 내용

현재 상황

  • 현재 학기별(SEMESTER) 랭킹 스냅샷은 RankingConfig 테이블의 endAt 값을 기반으로 동작하도록 구현되어 있습니다.
  • 따라서 관리자가 직접 DB에 종료일(endAt)을 입력해야 스냅샷이 실행되는 구조입니다.
  • 이 방식은 수동 개입이 필요하며, 관리 누락 시 스냅샷이 실행되지 않는 문제가 발생할 수 있습니다.

목표

  • 학기 종료 시점을 기준으로 자동으로 학기별 스냅샷이 실행되도록 개선합니다.
  • 관리자의 수동 DB 입력 없이 스케줄러 기반으로 자동화합니다.
  • 최근 5년 학사 일정 확인을 바탕으로 안전 범위 내 고정 스케줄 방식으로 전환합니다.

작업 내용

  • 학기별 스냅샷 실행 조건을 RankingConfig.endAt 기반 구조에서 스케줄러 기반 구조로 변경
  • 1학기 스냅샷을 매년 7월 1일 00:00에 자동 실행하도록 구현
  • 2학기 스냅샷을 매년 11월 1일 00:00에 자동 실행하도록 구현
  • 기존 RankingConfig.processed 기반 로직 제거 또는 리팩토링

상세 내용

  • 2022년

    • 1학기 종강: 6/21, 2학기 종강: 10/26
  • 2023년

    • 1학기 종강: 6/21, 2학기 종강: 10/26
  • 2024년

    • 1학기 종강: 6/21, 2학기 종강: 10/25
  • 2025년

    • 1학기 종강: 6/20, 2학기 종강: 10/24
  • 2026년

    • 1학기 종강: 6/22, 2학기 종강: 10/26

Metadata

Metadata

Assignees

Labels

refactor기능 리팩토링

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions