diff options
author | Chocobozzz <me@florianbigard.com> | 2018-08-03 09:27:30 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-08-06 11:19:16 +0200 |
commit | d7f83948a1af0ef3bed61f83e87e826902c96f7d (patch) | |
tree | d22177bcbf22aeb054960372a6bc39bea6077692 /server/lib/job-queue | |
parent | ed31c059851a30bd5ba9999f8ecb3822d576b9f4 (diff) | |
download | PeerTube-d7f83948a1af0ef3bed61f83e87e826902c96f7d.tar.gz PeerTube-d7f83948a1af0ef3bed61f83e87e826902c96f7d.tar.zst PeerTube-d7f83948a1af0ef3bed61f83e87e826902c96f7d.zip |
Correctly handle video import errors
Diffstat (limited to 'server/lib/job-queue')
-rw-r--r-- | server/lib/job-queue/handlers/video-import.ts | 3 | ||||
-rw-r--r-- | server/lib/job-queue/job-queue.ts | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/server/lib/job-queue/handlers/video-import.ts b/server/lib/job-queue/handlers/video-import.ts index 5a7722153..4f2faab7d 100644 --- a/server/lib/job-queue/handlers/video-import.ts +++ b/server/lib/job-queue/handlers/video-import.ts | |||
@@ -35,7 +35,7 @@ async function processVideoImport (job: Bull.Job) { | |||
35 | 35 | ||
36 | // Get information about this video | 36 | // Get information about this video |
37 | const { videoFileResolution } = await getVideoFileResolution(tempVideoPath) | 37 | const { videoFileResolution } = await getVideoFileResolution(tempVideoPath) |
38 | const fps = await getVideoFileFPS(tempVideoPath + 's') | 38 | const fps = await getVideoFileFPS(tempVideoPath) |
39 | const stats = await statPromise(tempVideoPath) | 39 | const stats = await statPromise(tempVideoPath) |
40 | const duration = await getDurationFromVideoFile(tempVideoPath) | 40 | const duration = await getDurationFromVideoFile(tempVideoPath) |
41 | 41 | ||
@@ -115,6 +115,7 @@ async function processVideoImport (job: Bull.Job) { | |||
115 | logger.error('Cannot cleanup files after a video import error.', { err: errUnlink }) | 115 | logger.error('Cannot cleanup files after a video import error.', { err: errUnlink }) |
116 | } | 116 | } |
117 | 117 | ||
118 | videoImport.error = err.message | ||
118 | videoImport.state = VideoImportState.FAILED | 119 | videoImport.state = VideoImportState.FAILED |
119 | await videoImport.save() | 120 | await videoImport.save() |
120 | 121 | ||
diff --git a/server/lib/job-queue/job-queue.ts b/server/lib/job-queue/job-queue.ts index 2e14867f2..ffd948b5f 100644 --- a/server/lib/job-queue/job-queue.ts +++ b/server/lib/job-queue/job-queue.ts | |||
@@ -79,7 +79,10 @@ class JobQueue { | |||
79 | const handler = handlers[handlerName] | 79 | const handler = handlers[handlerName] |
80 | 80 | ||
81 | queue.process(JOB_CONCURRENCY[handlerName], handler) | 81 | queue.process(JOB_CONCURRENCY[handlerName], handler) |
82 | .catch(err => logger.error('Cannot execute job queue %s.', handlerName, { err })) | 82 | |
83 | queue.on('failed', (job, err) => { | ||
84 | logger.error('Cannot execute job %d in queue %s.', job.id, handlerName, { payload: job.data, err }) | ||
85 | }) | ||
83 | 86 | ||
84 | queue.on('error', err => { | 87 | queue.on('error', err => { |
85 | logger.error('Error in job queue %s.', handlerName, { err }) | 88 | logger.error('Error in job queue %s.', handlerName, { err }) |