UNPKG

@grouparoo/core

Version:
65 lines (64 loc) 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Sweeper = void 0; const actionhero_1 = require("actionhero"); const Run_1 = require("../../models/Run"); const Import_1 = require("../../models/Import"); const Export_1 = require("../../models/Export"); const ExportProcessor_1 = require("../../models/ExportProcessor"); const Session_1 = require("../../models/Session"); const OAuthRequest_1 = require("../../models/OAuthRequest"); const clsTask_1 = require("../../classes/tasks/clsTask"); class Sweeper extends clsTask_1.CLSTask { constructor() { super(...arguments); this.name = "sweeper"; this.description = "clear old database entries"; this.frequency = 1000 * 60 * 30; // every half hour this.queue = "system"; } log(model, count, days) { if (count === 0) { return; } (0, actionhero_1.log)(`[ sweeper ]: deleted ${count} ${model} entries older than ${days} days`); } async runWithinTransaction() { const limit = 1000; let count = 0; let response; // --- RUNS --- count = -1; while (count !== 0) { response = await Run_1.Run.sweep(limit); count = response.count; this.log("run", response.count, response.days); } // --- IMPORTS --- count = -1; while (count !== 0) { response = await Import_1.Import.sweep(limit); count = response.count; this.log("import", response.count, response.days); } // --- EXPORTS --- count = -1; while (count !== 0) { response = await Export_1.Export.sweep(limit); count = response.count; this.log("export", response.count, response.days); } // --- EXPORT PROCESSORS --- count = -1; while (count !== 0) { count = await ExportProcessor_1.ExportProcessor.sweep(limit); } // --- SESSIONS --- response = await Session_1.Session.sweep(); this.log("session", response.count, response.days); // OAUTH REQUESTS response = await OAuthRequest_1.OAuthRequest.sweep(limit); this.log("oAuthRequest", response.count, response.days); } } exports.Sweeper = Sweeper;