import { getGlobalConfigValue } from "#server/service/config"; import { purgeAllDeletableOrphansGlobally } from "#server/service/media"; let lastRunAt = 0; export default defineTask({ meta: { name: "media:orphan-sweep", description: "Delete deletable orphan media when admin global switch is on", }, async run() { const enabled = await getGlobalConfigValue("mediaOrphanAutoSweepEnabled"); if (!enabled) { return { result: "skipped: disabled" }; } const intervalMinutes = await getGlobalConfigValue("mediaOrphanAutoSweepIntervalMinutes"); const intervalMs = intervalMinutes * 60_000; if (Date.now() - lastRunAt < intervalMs) { return { result: "skipped: throttle" }; } lastRunAt = Date.now(); const deletedCount = await purgeAllDeletableOrphansGlobally(50); return { result: "ok", deletedCount }; }, });