]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/job-queue/handlers/video-file.ts
Add timeout and TTL to request jobs
[github/Chocobozzz/PeerTube.git] / server / lib / job-queue / handlers / video-file.ts
index bd9412290ac1c34582b8bafe1b1392541cdb4784..1b41d29e862baa413ce17c6f8cc8415d129ce7ba 100644 (file)
@@ -63,8 +63,10 @@ async function onVideoFileOptimizerSuccess (video: VideoModel) {
 
   if (video.privacy !== VideoPrivacy.PRIVATE) {
     // Now we'll add the video's meta data to our followers
-    await sendCreateVideo(video, undefined)
-    await shareVideoByServerAndChannel(video, undefined)
+    await sequelizeTypescript.transaction(async t => {
+      await sendCreateVideo(video, t)
+      await shareVideoByServerAndChannel(video, t)
+    })
   }
 
   const { videoFileResolution } = await videoDatabase.getOriginalFileResolution()
@@ -77,27 +79,21 @@ async function onVideoFileOptimizerSuccess (video: VideoModel) {
   )
 
   if (resolutionsEnabled.length !== 0) {
-    try {
-      await sequelizeTypescript.transaction(async t => {
-        const tasks: Promise<any>[] = []
-
-        for (const resolution of resolutionsEnabled) {
-          const dataInput = {
-            videoUUID: videoDatabase.uuid,
-            resolution
-          }
-
-          const p = JobQueue.Instance.createJob({ type: 'video-file', payload: dataInput })
-          tasks.push(p)
-        }
-
-        await Promise.all(tasks)
-      })
-
-      logger.info('Transcoding jobs created for uuid %s.', videoDatabase.uuid, { resolutionsEnabled })
-    } catch (err) {
-      logger.warn('Cannot transcode the video.', err)
+    const tasks: Promise<any>[] = []
+
+    for (const resolution of resolutionsEnabled) {
+      const dataInput = {
+        videoUUID: videoDatabase.uuid,
+        resolution
+      }
+
+      const p = JobQueue.Instance.createJob({ type: 'video-file', payload: dataInput })
+      tasks.push(p)
     }
+
+    await Promise.all(tasks)
+
+    logger.info('Transcoding jobs created for uuid %s.', videoDatabase.uuid, { resolutionsEnabled })
   } else {
     logger.info('No transcoding jobs created for video %s (no resolutions enabled).')
     return undefined