리커버리 수정

This commit is contained in:
2026-03-04 01:14:35 +09:00
parent 6c0184597d
commit bfcddd0327

View File

@@ -100,16 +100,24 @@ public class JobRecoveryOnStartupService {
modelTrainMetricsJobService.findTrainValidMetricCsvFiles(); modelTrainMetricsJobService.findTrainValidMetricCsvFiles();
} else { } else {
// 3-3) 산출물이 부족하면 실패 처리(운영 정책에 따라 "유예"도 가능)
// 3-3) 산출물이 부족하면 중단처리
// 산출물이 부족하면 "실패 확정"이 아니라 "중단/보류"로 처리해서
// 운영자가 재시작(재개)할 수 있게 한다.
log.warn( log.warn(
"[RECOVERY] outputs incomplete. mark FAILED. jobId={} reason={}", "[RECOVERY] outputs incomplete. mark PAUSED/STOP for restart. jobId={} reason={}",
job.getId(), job.getId(),
out.reason()); out.reason());
modelTrainJobCoreService.markFailed( Integer modelId = job.getModelId() == null ? null : Math.toIntExact(job.getModelId());
job.getId(), -1, "SERVER_RESTART_CONTAINER_MISSING_OUTPUT_INCOMPLETE");
// model 상태 변경 // PAUSED/STOP
markStepErrorByJobType(job, out.reason()); modelTrainJobCoreService.markPaused(
job.getId(), modelId, "SERVER_RESTART_CONTAINER_MISSING_OUTPUT_INCOMPLETE");
// 모델도 에러가 아니라 STOP으로
markStepStopByJobType(
job, "SERVER_RESTART_CONTAINER_MISSING_OUTPUT_INCOMPLETE: " + out.reason());
} }
continue; continue;
} }