diff --git a/code/services-core/executor-service/src/main/java/nu/marginalia/actor/proc/ProcessLivenessMonitorActor.java b/code/services-core/executor-service/src/main/java/nu/marginalia/actor/proc/ProcessLivenessMonitorActor.java index 96f05c78..7c95e28b 100644 --- a/code/services-core/executor-service/src/main/java/nu/marginalia/actor/proc/ProcessLivenessMonitorActor.java +++ b/code/services-core/executor-service/src/main/java/nu/marginalia/actor/proc/ProcessLivenessMonitorActor.java @@ -36,11 +36,6 @@ public class ProcessLivenessMonitorActor extends RecordActorPrototype { case Monitor() -> { for (;;) { for (var heartbeat : getProcessHeartbeats()) { - if (!heartbeat.isRunning()) continue; - - var processId = heartbeat.getProcessId(); - if (null == processId) continue; - if (heartbeat.lastSeenMillis() > TimeUnit.DAYS.toMillis(1)) { // This process has been MIA for a long time // ... so we delete it from the listing altogether @@ -49,6 +44,11 @@ public class ProcessLivenessMonitorActor extends RecordActorPrototype { continue; } + if (!heartbeat.isRunning()) continue; + + var processId = heartbeat.getProcessId(); + if (null == processId) continue; + if (processService.isRunning(processId) && heartbeat.lastSeenMillis() < 10_000) continue;