From d7efc8f8484d847ae3d2c8df08d893fc4026dc90 Mon Sep 17 00:00:00 2001 From: localhost Date: Mon, 1 Jan 2024 10:48:24 +0100 Subject: [PATCH] avoid vm running out of disk space again --- controller/websocket.js | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/controller/websocket.js b/controller/websocket.js index 3142707..684f1f1 100644 --- a/controller/websocket.js +++ b/controller/websocket.js @@ -80,15 +80,22 @@ exports.save = async (ws, req) => { } else { const file = fs.readdirSync("videos").find(f => f.includes(id)) if (file) { - fs.renameSync(`./videos/${file}`, `./videos/${id}.webm`) - - ws.send('DATA - Uploading file...') - const videoUrl = await upload.uploadVideo(`./videos/${id}.webm`) - fs.unlinkSync(`./videos/${id}.webm`) + try { + fs.renameSync(`./videos/${file}`, `./videos/${id}.webm`) + + ws.send('DATA - Uploading file...') + const videoUrl = await upload.uploadVideo(`./videos/${id}.webm`) + fs.unlinkSync(`./videos/${id}.webm`) - await websocket.createDatabaseVideo(id, videoUrl) - - ws.send(`DONE - ${process.env.FRONTEND}/watch?v=${id}`) + await websocket.createDatabaseVideo(id, videoUrl) + ws.send(`DONE - ${process.env.FRONTEND}/watch?v=${id}`) + } catch (e) { + ws.send('DATA - Server side error while processing video. Please try again.') + fs.unlinkSync(`./videos/${id}.webm`) + logger.error(e) + } + } else { + ws.send('DATA - Failed to find file video.') } await redis.del(id) @@ -189,6 +196,7 @@ exports.playlist = async (ws, req) => { ws.send(`DATA - Created video page for ${video.title}`) } catch (e) { ws.send(`DATA - Failed downloading video ${video.title}. Going to next video`) + fs.unlinkSync(`./videos/${id}.webm`) logger.error(e) } } else { @@ -287,6 +295,7 @@ exports.channel = async (ws, req) => { ws.send(`DATA - Created video page for ${video.title}`) } catch (e) { ws.send(`DATA - Failed downloading video ${video.title}. Going to next video`) + fs.unlinkSync(`./videos/${id}.webm`) logger.error(e) } } else {