From 6373a74fb3c369b2a28c059176d529c01487ec09 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sun, 8 Sep 2019 22:45:36 +0200 Subject: [PATCH] fix(core): update --- ts/taskbuffer.classes.taskmanager.ts | 32 ++++++++++++++++++++-------- ts/taskbuffer.plugins.ts | 2 +- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ts/taskbuffer.classes.taskmanager.ts b/ts/taskbuffer.classes.taskmanager.ts index cbf25fd..1b690d7 100644 --- a/ts/taskbuffer.classes.taskmanager.ts +++ b/ts/taskbuffer.classes.taskmanager.ts @@ -1,12 +1,16 @@ import * as plugins from './taskbuffer.plugins'; import { Task } from './taskbuffer.classes.task'; -// interfaces -import { Objectmap } from '@pushrocks/lik'; +export interface ICronJob { + cronString: string; + taskNameArg: string; + job: any; +} export class TaskManager { public taskMap = new plugins.lik.Objectmap(); private cronJobMap = new plugins.lik.Objectmap(); + constructor() { // nothing here } @@ -55,6 +59,10 @@ export class TaskManager { return taskToTrigger.trigger(); } + public async triggerTask(task: Task) { + return task.trigger(); + } + /** * schedules the task by name * @param taskNameArg @@ -71,25 +79,31 @@ export class TaskManager { this.cronJobMap.add({ taskNameArg: taskToSchedule.name, cronString: cronStringArg, - job: job + job }); } + /** + * deschedules a task by name + * @param taskNameArg + */ public descheduleTaskByName(taskNameArg: string) { const descheduledCron = this.cronJobMap.findOneAndRemove(itemArg => { return itemArg.taskNameArg === taskNameArg; }); descheduledCron.job.stop(); } + + /** + * deschedules a task + * @param task + */ + public async descheduleTask(task: Task) { + await this.descheduleTaskByName(task.name); + } /** * returns all schedules of a specific task * @param taskNameArg */ public getSchedulesForTaskName(taskNameArg: string) {} } - -export interface ICronJob { - cronString: string; - taskNameArg: string; - job: any; -} diff --git a/ts/taskbuffer.plugins.ts b/ts/taskbuffer.plugins.ts index 9ec4c7a..3b4a422 100644 --- a/ts/taskbuffer.plugins.ts +++ b/ts/taskbuffer.plugins.ts @@ -1,5 +1,5 @@ import * as smartlog from '@pushrocks/smartlog'; -let cron = require('cron'); +import cron from 'cron'; import * as lik from '@pushrocks/lik'; import * as rxjs from 'rxjs'; import * as smartpromise from '@pushrocks/smartpromise';