aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/server/lib/runners/job-handlers/runner-job-handlers.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/server/lib/runners/job-handlers/runner-job-handlers.ts')
-rw-r--r--server/server/lib/runners/job-handlers/runner-job-handlers.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/server/server/lib/runners/job-handlers/runner-job-handlers.ts b/server/server/lib/runners/job-handlers/runner-job-handlers.ts
new file mode 100644
index 000000000..f8a672e64
--- /dev/null
+++ b/server/server/lib/runners/job-handlers/runner-job-handlers.ts
@@ -0,0 +1,20 @@
1import { MRunnerJob } from '@server/types/models/runners/index.js'
2import { RunnerJobSuccessPayload, RunnerJobType, RunnerJobUpdatePayload } from '@peertube/peertube-models'
3import { AbstractJobHandler } from './abstract-job-handler.js'
4import { LiveRTMPHLSTranscodingJobHandler } from './live-rtmp-hls-transcoding-job-handler.js'
5import { VideoStudioTranscodingJobHandler } from './video-studio-transcoding-job-handler.js'
6import { VODAudioMergeTranscodingJobHandler } from './vod-audio-merge-transcoding-job-handler.js'
7import { VODHLSTranscodingJobHandler } from './vod-hls-transcoding-job-handler.js'
8import { VODWebVideoTranscodingJobHandler } from './vod-web-video-transcoding-job-handler.js'
9
10const processors: Record<RunnerJobType, new() => AbstractJobHandler<unknown, RunnerJobUpdatePayload, RunnerJobSuccessPayload>> = {
11 'vod-web-video-transcoding': VODWebVideoTranscodingJobHandler,
12 'vod-hls-transcoding': VODHLSTranscodingJobHandler,
13 'vod-audio-merge-transcoding': VODAudioMergeTranscodingJobHandler,
14 'live-rtmp-hls-transcoding': LiveRTMPHLSTranscodingJobHandler,
15 'video-studio-transcoding': VideoStudioTranscodingJobHandler
16}
17
18export function getRunnerJobHandlerClass (job: MRunnerJob) {
19 return processors[job.type]
20}