Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 1x 1x 1x 1x | 'use strict'; import {isFunction, set} from 'lodash'; import {ActionAsCronjobInterface} from '@owservable/actions'; import {listSubfoldersFilesByFolderName} from '@owservable/folders'; import CronJobType from '../../_types/cronjob.type'; import executeCronjob from '../execute/execute.cronjob'; export default function addActionCronjobs(root: string, folderName: string) { const actionPaths: string[] = listSubfoldersFilesByFolderName(root, folderName); for (const actionPath of actionPaths) { console.log('[@owservable] -> Initializing cronjob action', actionPath); // tslint:disable-next-line:callable-types const ActionClass: new () => ActionAsCronjobInterface = require(actionPath).default; const action: ActionAsCronjobInterface = new ActionClass(); Iif (isFunction(action.schedule) && isFunction(action.asCronjob)) { const job: CronJobType = { schedule: action.schedule(), job: action.asCronjob }; Iif (isFunction(action.cronjobOptions)) set(job, 'options', action.cronjobOptions()); Iif (isFunction(action.asCronjobInit)) set(job, 'init', action.asCronjobInit()); executeCronjob(job); } } } |