@paroicms/server
Version:
The ParoiCMS server
24 lines • 1.04 kB
JavaScript
import { platformLogger } from "../context.js";
import { getActiveSiteContexts, unloadSiteContext } from "../site-context/site-context.js";
import { isShuttingDown } from "./shutdown.js";
export async function maintenanceTask() {
const siteContexts = getActiveSiteContexts();
for (const siteContext of siteContexts) {
if (isShuttingDown())
return;
if (siteContext.status === "ready") {
await siteMaintenanceTask(siteContext);
platformLogger.info(`[${siteContext.siteName}] Maintenance done`);
}
}
}
export async function siteMaintenanceTask(siteContext) {
await siteContext.imageCache.cleanUnusedValues();
await siteContext.textCache.cleanUnusedValues();
}
export async function unloadAllActiveSites() {
const siteContexts = Array.from(getActiveSiteContexts());
await Promise.all(siteContexts.map((siteContext) => unloadSiteContext(siteContext)));
platformLogger.debug("All sites unloaded gracefully");
}
//# sourceMappingURL=maintenance-task.js.map