From e965682e33a4d89b21ffc79c425356e6f3fafbb8 Mon Sep 17 00:00:00 2001 From: localhost Date: Mon, 1 Jan 2024 18:23:28 +0100 Subject: [PATCH] wipe unactive videos every 15 minutes --- utils/redis.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/utils/redis.js b/utils/redis.js index ea101e9..de44fbc 100644 --- a/utils/redis.js +++ b/utils/redis.js @@ -16,9 +16,18 @@ redis.on('ready', async function () { const filteredKeys = keys.filter(key => !key.startsWith('blacklist:')) if (filteredKeys.length) await redis.del(filteredKeys) - const files = await fs.readdirSync('videos') - const webmFiles = files.filter((file) => file.endsWith('.webm')) - webmFiles.forEach((f) => fs.unlinkSync(`videos/${f}`)) + setInterval(async () => { + const files = fs.readdirSync('videos') + const webmFiles = files.filter((file) => file.endsWith('.webm')) + webmFiles.forEach(async (f) => { + const videoId = f.replace('.webm', '') + const isActive = await redis.get(videoId) + if (!isActive) { + fs.unlinkSync(`./videos/${f}`) + logger.info({ message: `deleted file ${f} because there is no active download of it` }) + } + }) + }, 5*60000) }) module.exports = redis \ No newline at end of file