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 | 2x 2x 2x 4x 4x 4x 4x 4x 4x 3x 3x 3x | 'use strict';
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): void {
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 (typeof action.asCronjob === 'function') {
const job: CronJobType = {
schedule: action.schedule(),
...(action.asCronjobInit && {init: action.asCronjobInit}),
job: action.asCronjob
};
if (typeof action.asCronjobInit === 'function') job.init = action.asCronjobInit;
executeCronJob(job);
}
}
}
|