PeerTube/server/lib/jobs/transcoding-job-scheduler/transcoding-job-scheduler.ts

23 lines
728 B
TypeScript
Raw Normal View History

2017-11-10 16:27:49 +00:00
import { JobCategory } from '../../../../shared'
import { JobHandler, JobScheduler } from '../job-scheduler'
2017-11-09 16:51:58 +00:00
import * as videoFileOptimizer from './video-file-optimizer-handler'
import * as videoFileTranscoder from './video-file-transcoder-handler'
2017-11-10 16:27:49 +00:00
import { VideoInstance } from '../../../models/video/video-interface'
2017-11-09 16:51:58 +00:00
2017-11-10 16:27:49 +00:00
type TranscodingJobPayload = {
videoUUID: string
resolution?: number
}
const jobHandlers: { [ handlerName: string ]: JobHandler<TranscodingJobPayload, VideoInstance> } = {
2017-11-09 16:51:58 +00:00
videoFileOptimizer,
videoFileTranscoder
}
const jobCategory: JobCategory = 'transcoding'
const transcodingJobScheduler = new JobScheduler(jobCategory, jobHandlers)
export {
2017-11-10 16:27:49 +00:00
TranscodingJobPayload,
2017-11-09 16:51:58 +00:00
transcodingJobScheduler
}