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

24 lines
713 B
TypeScript
Raw Normal View History

2017-11-10 16:27:49 +00:00
import { JobCategory } from '../../../../shared'
2017-12-12 16:53:50 +00:00
import { VideoModel } from '../../../models/video/video'
2017-11-10 16:27:49 +00:00
import { JobHandler, JobScheduler } from '../job-scheduler'
2017-12-12 16:53:50 +00:00
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
type TranscodingJobPayload = {
videoUUID: string
resolution?: number
}
2017-12-12 16:53:50 +00:00
const jobHandlers: { [ handlerName: string ]: JobHandler<TranscodingJobPayload, VideoModel> } = {
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
}