feat(ranking): 스냅샷 job 상태 로그를 추가한다

This commit is contained in:
2026-06-09 12:32:34 +09:00
parent 32460e550c
commit 34b26d4906
2 changed files with 65 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ import kr.co.vividnext.sodalive.v2.ranking.port.out.CreatorRankingSnapshotJobPor
import kr.co.vividnext.sodalive.v2.ranking.port.out.CreatorRankingSnapshotJobRecord
import kr.co.vividnext.sodalive.v2.ranking.port.out.CreatorRankingSnapshotJobStatus
import kr.co.vividnext.sodalive.v2.ranking.port.out.CreatorRankingSnapshotJobTrigger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.time.LocalDateTime
@@ -17,6 +18,7 @@ class CreatorRankingSnapshotJobService(
private val jobPort: CreatorRankingSnapshotJobPort,
private val nowProvider: () -> ZonedDateTime = { ZonedDateTime.now() }
) {
private val log = LoggerFactory.getLogger(javaClass)
private val periodPolicy = CreatorRankingPeriodPolicy()
@Transactional
@@ -37,11 +39,14 @@ class CreatorRankingSnapshotJobService(
)
val jobId = job.id ?: return
jobPort.markProcessing(jobId, LocalDateTime.now())
logJobStatusChanged(job, CreatorRankingSnapshotJobStatus.PROCESSING)
try {
refreshService.refreshLastCompletedWeek(now)
jobPort.markDone(jobId, LocalDateTime.now())
logJobStatusChanged(job, CreatorRankingSnapshotJobStatus.DONE)
} catch (ex: Exception) {
jobPort.markFailed(jobId, LocalDateTime.now(), ex.message)
logJobStatusChanged(job, CreatorRankingSnapshotJobStatus.FAILED, ex.message)
throw ex
}
}
@@ -83,4 +88,21 @@ class CreatorRankingSnapshotJobService(
jobPort.markPending(jobId)
}
private fun logJobStatusChanged(
job: CreatorRankingSnapshotJobRecord,
status: CreatorRankingSnapshotJobStatus,
error: String? = null
) {
log.info(
"event=creator_ranking_snapshot_job_status_changed " +
"jobId={} trigger={} status={} aggregationStartAtUtc={} aggregationEndAtUtc={} error={}",
job.id,
job.trigger,
status,
job.aggregationStartAtUtc,
job.aggregationEndAtUtc,
error
)
}
}