-import { JobScheduler, JobHandler } from '../job-scheduler'
+import { JobCategory } from '../../../../shared'
+import { VideoModel } from '../../../models/video/video'
+import { JobHandler, JobScheduler } from '../job-scheduler'
import * as videoFileOptimizer from './video-file-optimizer-handler'
import * as videoFileTranscoder from './video-file-transcoder-handler'
-import { JobCategory } from '../../../../shared'
-const jobHandlers: { [ handlerName: string ]: JobHandler<any> } = {
+type TranscodingJobPayload = {
+ videoUUID: string
+ resolution?: number
+}
+const jobHandlers: { [ handlerName: string ]: JobHandler<TranscodingJobPayload, VideoModel> } = {
videoFileOptimizer,
videoFileTranscoder
}
const transcodingJobScheduler = new JobScheduler(jobCategory, jobHandlers)
export {
+ TranscodingJobPayload,
transcodingJobScheduler
}