UNPKG

@fabrix/spool-crons

Version:

Spool - Cron Jobs for Fabrix

45 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); exports.Crons = { configure: (app) => { return; }, cancelCrons: (app) => { for (const j in app.scheduler.scheduledJobs) { if (app.scheduler.scheduledJobs.hasOwnProperty(j)) { const job = app.scheduler.scheduledJobs[j]; job.cancel(); } } return Promise.resolve(); }, copyDefaults: (app) => { app.config.set('cronsDefaults', lodash_1.clone(app.config.get('crons'))); return Promise.resolve({}); }, addCrons: (app) => { Object.keys(app.crons || {}).forEach(function (key) { const cron = app.crons[key]; cron.freeze(); if (cron.methods && cron.methods.indexOf('schedule') > -1 && app.config.get('crons.auto_schedule') !== false) { cron.schedule(); app.log.debug(`Engine auto scheduled ${cron.name}: ${cron.scheduledJobs.length} jobs`); } const profile = app.config.get('crons.profile'); if (app.config.get('crons.profiles') && app.config.get('crons.profiles')[profile]) { app.config.get('crons.profiles')[profile].forEach(allowed => { const allowedCron = allowed.split('.')[0]; const allowedMethod = allowed.split('.')[1]; if (allowedCron === key && cron.methods.indexOf(allowedMethod) > -1) { cron[allowedMethod](); } }); } }); return; } }; //# sourceMappingURL=Crons.js.map