From 0301d77254c9a1acc76c4c7a5822bc6206c29b79 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 19 Mar 2024 08:37:50 +0100 Subject: [PATCH] Don't cancel finished jobs --- server/core/lib/live/live-manager.ts | 2 +- server/core/models/runner/runner-job.ts | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/core/lib/live/live-manager.ts b/server/core/lib/live/live-manager.ts index 21781dd01..3e20d33e6 100644 --- a/server/core/lib/live/live-manager.ts +++ b/server/core/lib/live/live-manager.ts @@ -523,7 +523,7 @@ class LiveManager { } private async handleBrokenLives () { - await RunnerJobModel.cancelAllJobs({ type: 'live-rtmp-hls-transcoding' }) + await RunnerJobModel.cancelAllNonFinishedJobs({ type: 'live-rtmp-hls-transcoding' }) const videoUUIDs = await VideoModel.listPublishedLiveUUIDs() diff --git a/server/core/models/runner/runner-job.ts b/server/core/models/runner/runner-job.ts index 5c466518d..e4d4c09f7 100644 --- a/server/core/models/runner/runner-job.ts +++ b/server/core/models/runner/runner-job.ts @@ -278,9 +278,12 @@ export class RunnerJobModel extends SequelizeModel { return RunnerJobModel.update({ state: RunnerJobState.PENDING }, { where }) } - static cancelAllJobs (options: { type: RunnerJobType }) { + static cancelAllNonFinishedJobs (options: { type: RunnerJobType }) { const where = { - type: options.type + type: options.type, + state: { + [Op.in]: [ RunnerJobState.COMPLETING, RunnerJobState.PENDING, RunnerJobState.PROCESSING, RunnerJobState.WAITING_FOR_PARENT_JOB ] + } } return RunnerJobModel.update({ state: RunnerJobState.CANCELLED }, { where })