리커버리 수정

This commit is contained in:
2026-03-04 01:18:04 +09:00
parent bfcddd0327
commit 7b35d26a13

View File

@@ -102,8 +102,8 @@ public class JobRecoveryOnStartupService {
} else {
// 3-3) 산출물이 부족하면 중단처리
// 산출물이 부족하면 "실패 확정"이 아니라 "중단/보류"로 처리해서
// 운영자가 재시작(재개)할 수 있게 한다.
// 산출물이 부족하면 "중단/보류"로 처리
// 운영자가 재시작 할 수 있게 한다.
log.warn(
"[RECOVERY] outputs incomplete. mark PAUSED/STOP for restart. jobId={} reason={}",
job.getId(),
@@ -124,14 +124,13 @@ public class JobRecoveryOnStartupService {
// 4) 컨테이너는 존재하고, 아직 running=true
// - 서버만 재기동됐고 컨테이너는 그대로 살아있는 케이스
// - 실행중 docker 를 stop 하고 이어하기를 한다,
// - 실행중 docker 를 kill 하고 이어하기를 한다,
if (state.running()) {
log.warn("[RECOVERY] container still running. force kill. container={}", containerName);
try {
// ============================================================
// 1) docker kill (SIGKILL) 바로 전송
// - stop은 grace period가 있지만
// - kill은 즉시 종료
// ============================================================
ProcessBuilder pb = new ProcessBuilder("docker", "kill", containerName);