UNPKG

@paroicms/server

Version:
34 lines 1.65 kB
import { cleanupOldEventLogEntries } from "../admin-backend/event-log/event-log.queries.js"; import { cleanupExpiredHistoryEntries } from "../admin-backend/history/history.queries.js"; 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(); const deletedCount = await cleanupOldEventLogEntries(siteContext, { retainCount: 7000 }); if (deletedCount > 0) { siteContext.logger.info(`Deleted ${deletedCount} old event log entries`); } const historyDeletedCount = await cleanupExpiredHistoryEntries(siteContext); if (historyDeletedCount > 0) { siteContext.logger.info(`Deleted ${historyDeletedCount} expired history entries`); } } 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