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 | 2x 2x 2x 2x | '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(); if (isFunction(action.asCronjob)) { const job: CronJobType = { schedule: action.schedule(), ...(action.asCronjobInit && {init: action.asCronjobInit}), job: action.asCronjob }; if (isFunction(action.asCronjobInit)) set(job, 'init', action.asCronjobInit()); executeCronJob(job); } } } |