delete unfinished uploads if HFS is terminated
Massimo Melina committed
Dec 31, 2024 at 18:02 UTC
5bac457881e990be0ca8eb810f9efe1f0ea71df9
1 file changed
+8
src/upload.ts
+8
@@ -21,12 +21,20 @@ import _ from 'lodash'
21
import events from './events'
22
import { rename, rm } from 'fs/promises'
23
import { expiringCache } from './expiringCache'
24
+import { onProcessExit } from './first'
25
26
export const deleteUnfinishedUploadsAfter = defineConfig<undefined|number>('delete_unfinished_uploads_after', 86_400)
27
export const minAvailableMb = defineConfig('min_available_mb', 100)
28
export const dontOverwriteUploading = defineConfig('dont_overwrite_uploading', true)
29
30
const waitingToBeDeleted: Record<string, ReturnType<typeof setTimeout>> = {}
31
+onProcessExit(() => {
32
+ if (!Object.keys(waitingToBeDeleted).length) return
33
+ console.log("removing unfinished uploads")
34
+ for (const path in waitingToBeDeleted)
35
+ try { fs.rmSync(path, { force: true }) }
36
+ catch {}
37
+})
38
39
const ATTR_UPLOADER = 'uploader'
40