]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/transcoding/shared/job-builders/transcoding-runner-job-builder.ts
Reload the video after waiting for the files lock
[github/Chocobozzz/PeerTube.git] / server / lib / transcoding / shared / job-builders / transcoding-runner-job-builder.ts
index 274dce21b74c9163ff00223a5659fba6d39f2138..4b8bc2f3de92ca46e47678e094e73e759db983e6 100644 (file)
@@ -8,6 +8,7 @@ import { VideoPathManager } from '@server/lib/video-path-manager'
 import { MUserId, MVideoFile, MVideoFullLight, MVideoWithFileThumbnail } from '@server/types/models'
 import { MRunnerJob } from '@server/types/models/runners'
 import { ffprobePromise, getVideoStreamDimensionsInfo, getVideoStreamFPS, hasAudioStream, isAudioFile } from '@shared/ffmpeg'
+import { getTranscodingJobPriority } from '../../transcoding-priority'
 import { computeResolutionsToTranscode } from '../../transcoding-resolutions'
 import { AbstractJobBuilder } from './abstract-job-builder'
 
@@ -35,6 +36,9 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
       : await VideoPathManager.Instance.lockFiles(video.uuid)
 
     try {
+      await video.reload()
+      await videoFile.reload()
+
       await VideoPathManager.Instance.makeAvailableVideoFile(videoFile.withVideoOrPlaylist(video), async videoFilePath => {
         const probe = await ffprobePromise(videoFilePath)
 
@@ -49,7 +53,7 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
           : resolution
 
         const fps = computeOutputFPS({ inputFPS, resolution: maxResolution })
-        const priority = await this.getTranscodingJobPriority({ user, fallback: 0 })
+        const priority = await getTranscodingJobPriority({ user, type: 'vod', fallback: 0 })
 
         const mainRunnerJob = videoFile.isAudio()
           ? await new VODAudioMergeTranscodingJobHandler().create({ video, resolution: maxResolution, fps, isNewVideo, priority })
@@ -63,7 +67,7 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
             fps,
             isNewVideo,
             dependsOnRunnerJob: mainRunnerJob,
-            priority: await this.getTranscodingJobPriority({ user, fallback: 0 })
+            priority: await getTranscodingJobPriority({ user, type: 'vod', fallback: 0 })
           })
         }
 
@@ -96,7 +100,7 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
     const maxResolution = Math.max(...resolutions)
     const { fps: inputFPS } = await video.probeMaxQualityFile()
     const maxFPS = computeOutputFPS({ inputFPS, resolution: maxResolution })
-    const priority = await this.getTranscodingJobPriority({ user, fallback: 0 })
+    const priority = await getTranscodingJobPriority({ user, type: 'vod', fallback: 0 })
 
     const childrenResolutions = resolutions.filter(r => r !== maxResolution)
 
@@ -121,7 +125,7 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
           isNewVideo,
           deleteWebVideoFiles: false,
           dependsOnRunnerJob,
-          priority: await this.getTranscodingJobPriority({ user, fallback: 0 })
+          priority: await getTranscodingJobPriority({ user, type: 'vod', fallback: 0 })
         })
         continue
       }
@@ -133,7 +137,7 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
           fps,
           isNewVideo,
           dependsOnRunnerJob,
-          priority: await this.getTranscodingJobPriority({ user, fallback: 0 })
+          priority: await getTranscodingJobPriority({ user, type: 'vod', fallback: 0 })
         })
         continue
       }
@@ -172,7 +176,7 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
           fps,
           isNewVideo,
           dependsOnRunnerJob: mainRunnerJob,
-          priority: await this.getTranscodingJobPriority({ user, fallback: 0 })
+          priority: await getTranscodingJobPriority({ user, type: 'vod', fallback: 0 })
         })
       }
 
@@ -184,7 +188,7 @@ export class TranscodingRunnerJobBuilder extends AbstractJobBuilder {
           isNewVideo,
           deleteWebVideoFiles: false,
           dependsOnRunnerJob: mainRunnerJob,
-          priority: await this.getTranscodingJobPriority({ user, fallback: 0 })
+          priority: await getTranscodingJobPriority({ user, type: 'vod', fallback: 0 })
         })
       }
     }