From 0138af9237b77dd7d3a49260d164193b4048de84 Mon Sep 17 00:00:00 2001 From: Florent Fayolle Date: Sat, 2 Jun 2018 21:39:41 +0200 Subject: Add create-import-video-file-job command --- scripts/create-import-video-file-job.ts | 39 +++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 scripts/create-import-video-file-job.ts (limited to 'scripts/create-import-video-file-job.ts') diff --git a/scripts/create-import-video-file-job.ts b/scripts/create-import-video-file-job.ts new file mode 100644 index 000000000..a2f4f38f2 --- /dev/null +++ b/scripts/create-import-video-file-job.ts @@ -0,0 +1,39 @@ +import * as program from 'commander' +import { resolve } from 'path' +import { VideoModel } from '../server/models/video/video' +import { initDatabaseModels } from '../server/initializers' +import { JobQueue } from '../server/lib/job-queue' + +program + .option('-v, --video [videoUUID]', 'Video UUID') + .option('-i, --import [videoFile]', 'Video file') + .description('Import a video file to replace an already uploaded file or to add a new resolution') + .parse(process.argv) + +if (program['video'] === undefined || program['import'] === undefined) { + console.error('All parameters are mandatory.') + process.exit(-1) +} + +run() + .then(() => process.exit(0)) + .catch(err => { + console.error(err) + process.exit(-1) + }) + +async function run () { + await initDatabaseModels(true) + + const video = await VideoModel.loadByUUID(program['video']) + if (!video) throw new Error('Video not found.') + + const dataInput = { + videoUUID: video.uuid, + filePath: resolve(program['import']) + } + + await JobQueue.Instance.init() + await JobQueue.Instance.createJob({ type: 'video-file-import', payload: dataInput }) + console.log('Import job for video %s created.', video.uuid) +} -- cgit v1.2.3