mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-04 02:09:37 +02:00
More robust runner update handler
This commit is contained in:
parent
7d758898dc
commit
a34c612f38
2 changed files with 25 additions and 5 deletions
|
@ -21,6 +21,8 @@ export interface FFmpegCommandWrapperOptions {
|
|||
lTags?: { tags: string[] }
|
||||
|
||||
updateJobProgress?: (progress?: number) => void
|
||||
onEnd?: () => void
|
||||
onError?: (err: Error) => void
|
||||
}
|
||||
|
||||
export class FFmpegCommandWrapper {
|
||||
|
@ -37,6 +39,8 @@ export class FFmpegCommandWrapper {
|
|||
private readonly lTags: { tags: string[] }
|
||||
|
||||
private readonly updateJobProgress: (progress?: number) => void
|
||||
private readonly onEnd?: () => void
|
||||
private readonly onError?: (err: Error) => void
|
||||
|
||||
private command: FfmpegCommand
|
||||
|
||||
|
@ -48,7 +52,11 @@ export class FFmpegCommandWrapper {
|
|||
this.threads = options.threads
|
||||
this.logger = options.logger
|
||||
this.lTags = options.lTags || { tags: [] }
|
||||
|
||||
this.updateJobProgress = options.updateJobProgress
|
||||
|
||||
this.onEnd = options.onEnd
|
||||
this.onError = options.onError
|
||||
}
|
||||
|
||||
getAvailableEncoders () {
|
||||
|
@ -101,12 +109,16 @@ export class FFmpegCommandWrapper {
|
|||
this.command.on('error', (err, stdout, stderr) => {
|
||||
if (silent !== true) this.logger.error('Error in ffmpeg.', { stdout, stderr, shellCommand, ...this.lTags })
|
||||
|
||||
if (this.onError) this.onError(err)
|
||||
|
||||
rej(err)
|
||||
})
|
||||
|
||||
this.command.on('end', (stdout, stderr) => {
|
||||
this.logger.debug('FFmpeg command ended.', { stdout, stderr, shellCommand, ...this.lTags })
|
||||
|
||||
if (this.onEnd) this.onEnd()
|
||||
|
||||
res()
|
||||
})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue