UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

24 lines (22 loc) 828 B
import { RESUMABLE_UPLOADS } from "../constants.js"; import { scheduleSynchronizedJob, validateCron } from "../utils/schedule.js"; import { getSchema } from "../utils/get-schema.js"; import { createTusServer } from "../services/tus/server.js"; import "../services/tus/index.js"; //#region src/schedules/tus.ts /** * Schedule the tus cleanup * * @returns Whether or not tus cleanup has been initialized */ async function schedule() { if (!RESUMABLE_UPLOADS.ENABLED) return false; if (validateCron(RESUMABLE_UPLOADS.SCHEDULE)) scheduleSynchronizedJob("tus-cleanup", RESUMABLE_UPLOADS.SCHEDULE, async () => { const [tusServer, cleanupServer] = await createTusServer({ schema: await getSchema() }); await tusServer.cleanUpExpiredUploads(); cleanupServer(); }); return true; } //#endregion export { schedule as default };