fix: error handling for upload

This commit is contained in:
florian 2023-07-12 21:01:24 +02:00
parent ac73df5f3f
commit e144b1231d
2 changed files with 10 additions and 5 deletions

View File

@ -9,4 +9,4 @@ export const PORT = process.env.PORT || 3000;
export const CREATE_THUMBNAIL = process.env.CREATE_THUMBNAIL == undefined || process.env.CREATE_THUMBNAIL === 'true';
export const BUCKET_CLEANUP = process.env.BUCKET_CLEANUP == undefined || process.env.BUCKET_CLEANUP === 'true';
export const UPLOAD_RECORDING = process.env.UPLOAD_VOD == undefined || process.env.UPLOAD_VOD === 'true';
export const UPLOAD_RECORDING = process.env.UPLOAD_RECORDING == undefined || process.env.UPLOAD_RECORDING === 'true';

View File

@ -68,11 +68,16 @@ const processM3u8Playlist = async (hlsEvent: HLSUpdateEvent) => {
const processOnHlsEvent = async (hlsEvent: HLSUpdateEvent) => {
log(`Server ID: ${hlsEvent.server_id}, App: ${hlsEvent.app}, Stream: ${hlsEvent.stream}, SEQ: ${hlsEvent.seq_no}`);
// Upload ts file
await uploadFile(s3Client, `${hlsEvent.cwd}/${hlsEvent.file}`, S3_BUCKET_NAME, `${hlsEvent.url}`, 'video/mp2t');
try {
// Upload ts file
await uploadFile(s3Client, `${hlsEvent.cwd}/${hlsEvent.file}`, S3_BUCKET_NAME, `${hlsEvent.url}`, 'video/mp2t');
// Upload m3u8 playlist, thumbnail and delete old ts files all in parallel
await Promise.all([processM3u8Playlist(hlsEvent), processThumbnail(hlsEvent), processBucketCleanup(hlsEvent)]);
// Upload m3u8 playlist, thumbnail and delete old ts files all in parallel
await Promise.all([processM3u8Playlist(hlsEvent), processThumbnail(hlsEvent), processBucketCleanup(hlsEvent)]);
} catch (err) {
console.error('processOnHlsEvent', err);
await processBucketCleanup(hlsEvent); // Try to delete old ts files even if upload failed
}
};
app.post('/api/v1/hls', async (req, res, next) => {