diff --git a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/rules/TaskLifecycleRules.kt b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/rules/TaskLifecycleRules.kt index 15180b54..9e309a97 100644 --- a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/rules/TaskLifecycleRules.kt +++ b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/rules/TaskLifecycleRules.kt @@ -11,14 +11,18 @@ object TaskLifecycleRules { fun isAbandoned( consumed: Boolean, + createdAt: Instant, lastCheckIn: Instant? ): Boolean { if (consumed) return false val cutoff = Instant.now().minus(abandonedAfterMinutes, ChronoUnit.MINUTES) - return lastCheckIn == null || lastCheckIn.isBefore(cutoff) + + val reference = lastCheckIn ?: createdAt + return reference.isBefore(cutoff) } + fun isStalled(task: PersistedTask): Boolean { if (task.consumed) return false