1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-04 10:19:35 +02:00

Fix pending transcoding with failed job

This commit is contained in:
Chocobozzz 2021-12-03 14:40:29 +01:00
parent 453537426a
commit 025d858e79
No known key found for this signature in database
GPG key ID: 583A612D890159BE
2 changed files with 18 additions and 15 deletions

View file

@ -53,6 +53,7 @@ async function processVideoTranscoding (job: Job) {
if (!handler) {
await moveToFailedTranscodingState(video)
await VideoJobInfoModel.decrease(video.uuid, 'pendingTranscode')
throw new Error('Cannot find transcoding handler for ' + payload.type)
}
@ -62,12 +63,20 @@ async function processVideoTranscoding (job: Job) {
} catch (error) {
await moveToFailedTranscodingState(video)
await VideoJobInfoModel.decrease(video.uuid, 'pendingTranscode')
throw error
}
return video
}
// ---------------------------------------------------------------------------
export {
processVideoTranscoding
}
// ---------------------------------------------------------------------------
// Job handlers
// ---------------------------------------------------------------------------
@ -119,7 +128,7 @@ async function handleWebTorrentMergeAudioJob (job: Job, payload: MergeAudioTrans
logger.info('Merge audio transcoding job for %s ended.', video.uuid, lTags(video.uuid))
await onVideoFileOptimizer(video, payload, 'video', user)
await onVideoFirstWebTorrentTranscoding(video, payload, 'video', user)
}
async function handleWebTorrentOptimizeJob (job: Job, payload: OptimizeTranscodingPayload, video: MVideoFullLight, user: MUserId) {
@ -129,7 +138,7 @@ async function handleWebTorrentOptimizeJob (job: Job, payload: OptimizeTranscodi
logger.info('Optimize transcoding job for %s ended.', video.uuid, lTags(video.uuid))
await onVideoFileOptimizer(video, payload, transcodeType, user)
await onVideoFirstWebTorrentTranscoding(video, payload, transcodeType, user)
}
// ---------------------------------------------------------------------------
@ -159,7 +168,7 @@ async function onHlsPlaylistGeneration (video: MVideoFullLight, user: MUser, pay
await retryTransactionWrapper(moveToNextState, video, payload.isNewVideo)
}
async function onVideoFileOptimizer (
async function onVideoFirstWebTorrentTranscoding (
videoArg: MVideoWithFile,
payload: OptimizeTranscodingPayload | MergeAudioTranscodingPayload,
transcodeType: TranscodeOptionsType,
@ -211,6 +220,8 @@ async function onNewWebTorrentFileResolution (
await retryTransactionWrapper(moveToNextState, video, payload.isNewVideo)
}
// ---------------------------------------------------------------------------
async function createHlsJobIfEnabled (user: MUserId, payload: {
videoUUID: string
resolution: number
@ -241,16 +252,6 @@ async function createHlsJobIfEnabled (user: MUserId, payload: {
return true
}
// ---------------------------------------------------------------------------
export {
processVideoTranscoding,
createHlsJobIfEnabled,
onNewWebTorrentFileResolution
}
// ---------------------------------------------------------------------------
async function createLowerResolutionsJobs (options: {
video: MVideoFullLight
user: MUserId