From a34c612f38af9c5f2c9f53931ed9df35ac834e90 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 19 Jun 2023 13:45:26 +0200 Subject: More robust runner update handler --- .../peertube-runner/server/process/shared/common.ts | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'packages') diff --git a/packages/peertube-runner/server/process/shared/common.ts b/packages/peertube-runner/server/process/shared/common.ts index 88f7c33f1..dbeb9dfc1 100644 --- a/packages/peertube-runner/server/process/shared/common.ts +++ b/packages/peertube-runner/server/process/shared/common.ts @@ -1,5 +1,4 @@ import { remove } from 'fs-extra' -import { throttle } from 'lodash' import { ConfigManager, downloadFile, logger } from 'packages/peertube-runner/shared' import { join } from 'path' import { buildUUID } from '@shared/extra-utils' @@ -60,17 +59,26 @@ export function buildFFmpegVOD (options: { ? 500 : 60000 - const updateJobProgress = throttle((progress: number) => { - if (progress < 0 || progress > 100) progress = undefined + let progress: number + const interval = setInterval(() => { updateTranscodingProgress({ server, job, runnerToken, progress }) .catch(err => logger.error({ err }, 'Cannot send job progress')) - }, updateInterval, { trailing: false }) + }, updateInterval) return new FFmpegVOD({ ...getCommonFFmpegOptions(), - updateJobProgress + onError: () => clearInterval(interval), + onEnd: () => clearInterval(interval), + + updateJobProgress: arg => { + if (arg < 0 || arg > 100) { + progress = undefined + } else { + progress = arg + } + } }) } -- cgit v1.2.3