now has working TaskManager
This commit is contained in:
		
							
								
								
									
										1
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/index.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,5 @@
 | 
			
		||||
export { Task, ITaskFunction } from './taskbuffer.classes.task';
 | 
			
		||||
export { Taskchain } from './taskbuffer.classes.taskchain';
 | 
			
		||||
export { Taskparallel } from './taskbuffer.classes.taskparallel';
 | 
			
		||||
export { TaskManager } from './taskbuffer.classes.taskmanager';
 | 
			
		||||
import './taskbuffer.classes.helpers';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							@@ -6,6 +6,8 @@ var taskbuffer_classes_taskchain_1 = require("./taskbuffer.classes.taskchain");
 | 
			
		||||
exports.Taskchain = taskbuffer_classes_taskchain_1.Taskchain;
 | 
			
		||||
var taskbuffer_classes_taskparallel_1 = require("./taskbuffer.classes.taskparallel");
 | 
			
		||||
exports.Taskparallel = taskbuffer_classes_taskparallel_1.Taskparallel;
 | 
			
		||||
var taskbuffer_classes_taskmanager_1 = require("./taskbuffer.classes.taskmanager");
 | 
			
		||||
exports.TaskManager = taskbuffer_classes_taskmanager_1.TaskManager;
 | 
			
		||||
// import for naming only
 | 
			
		||||
require("./taskbuffer.classes.helpers");
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUE0RDtBQUFwRCx5Q0FBQSxJQUFJLENBQUE7QUFDWiwrRUFBd0Q7QUFBaEQsbURBQUEsU0FBUyxDQUFBO0FBQ2pCLHFGQUE4RDtBQUF0RCx5REFBQSxZQUFZLENBQUE7QUFFcEIseUJBQXlCO0FBQ3pCLHdDQUFxQyJ9
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUE0RDtBQUFwRCx5Q0FBQSxJQUFJLENBQUE7QUFDWiwrRUFBd0Q7QUFBaEQsbURBQUEsU0FBUyxDQUFBO0FBQ2pCLHFGQUE4RDtBQUF0RCx5REFBQSxZQUFZLENBQUE7QUFDcEIsbUZBQThEO0FBQXJELHVEQUFBLFdBQVcsQ0FBQTtBQUVwQix5QkFBeUI7QUFDekIsd0NBQXFDIn0=
 | 
			
		||||
							
								
								
									
										5
									
								
								dist/taskbuffer.classes.taskmanager.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/taskbuffer.classes.taskmanager.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -2,7 +2,7 @@ import { Task } from './taskbuffer.classes.task';
 | 
			
		||||
import { Objectmap } from 'lik';
 | 
			
		||||
export declare class TaskManager {
 | 
			
		||||
    taskMap: Objectmap<Task>;
 | 
			
		||||
    private cronJobArray;
 | 
			
		||||
    private cronJobMap;
 | 
			
		||||
    constructor();
 | 
			
		||||
    /**
 | 
			
		||||
     * checks if a task is already present
 | 
			
		||||
@@ -24,12 +24,13 @@ export declare class TaskManager {
 | 
			
		||||
     * triggers a task in the TaskManagerByName
 | 
			
		||||
     * @param taskNameArg
 | 
			
		||||
     */
 | 
			
		||||
    triggerTaskByName(taskNameArg: string): void;
 | 
			
		||||
    triggerTaskByName(taskNameArg: string): Promise<any>;
 | 
			
		||||
    /**
 | 
			
		||||
     * schedules the task by name
 | 
			
		||||
     * @param taskNameArg
 | 
			
		||||
     */
 | 
			
		||||
    scheduleTaskByName(taskNameArg: string, cronStringArg: string): void;
 | 
			
		||||
    descheduleTaskByName(taskNameArg: string): void;
 | 
			
		||||
    /**
 | 
			
		||||
     * returns all schedules of a specific task
 | 
			
		||||
     * @param taskNameArg
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								dist/taskbuffer.classes.taskmanager.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										18
									
								
								dist/taskbuffer.classes.taskmanager.js
									
									
									
									
										vendored
									
									
								
							@@ -4,7 +4,7 @@ const plugins = require("./taskbuffer.plugins");
 | 
			
		||||
class TaskManager {
 | 
			
		||||
    constructor() {
 | 
			
		||||
        this.taskMap = new plugins.lik.Objectmap();
 | 
			
		||||
        this.cronJobArray = [];
 | 
			
		||||
        this.cronJobMap = new plugins.lik.Objectmap();
 | 
			
		||||
        // nothing here
 | 
			
		||||
    }
 | 
			
		||||
    /**
 | 
			
		||||
@@ -45,7 +45,7 @@ class TaskManager {
 | 
			
		||||
        if (!taskToTrigger) {
 | 
			
		||||
            throw new Error(`There is no task with the name of ${taskNameArg}`);
 | 
			
		||||
        }
 | 
			
		||||
        taskToTrigger.trigger();
 | 
			
		||||
        return taskToTrigger.trigger();
 | 
			
		||||
    }
 | 
			
		||||
    /**
 | 
			
		||||
     * schedules the task by name
 | 
			
		||||
@@ -55,15 +55,23 @@ class TaskManager {
 | 
			
		||||
        let taskToSchedule = this.getTaskByName(taskNameArg);
 | 
			
		||||
        let job = new plugins.cron.CronJob({
 | 
			
		||||
            cronTime: cronStringArg,
 | 
			
		||||
            onTick: taskToSchedule.trigger,
 | 
			
		||||
            onTick: () => {
 | 
			
		||||
                this.triggerTaskByName(taskNameArg);
 | 
			
		||||
            },
 | 
			
		||||
            start: true
 | 
			
		||||
        });
 | 
			
		||||
        this.cronJobArray.push({
 | 
			
		||||
        this.cronJobMap.add({
 | 
			
		||||
            taskNameArg: taskToSchedule.name,
 | 
			
		||||
            cronString: cronStringArg,
 | 
			
		||||
            job: job
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    descheduleTaskByName(taskNameArg) {
 | 
			
		||||
        let descheduledCron = this.cronJobMap.findOneAndRemove((itemArg) => {
 | 
			
		||||
            return itemArg.taskNameArg === taskNameArg;
 | 
			
		||||
        });
 | 
			
		||||
        descheduledCron.job.stop();
 | 
			
		||||
    }
 | 
			
		||||
    /**
 | 
			
		||||
     * returns all schedules of a specific task
 | 
			
		||||
     * @param taskNameArg
 | 
			
		||||
@@ -72,4 +80,4 @@ class TaskManager {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
exports.TaskManager = TaskManager;
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0RBQStDO0FBTS9DO0lBR0U7UUFGQSxZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBUSxDQUFBO1FBQ25DLGlCQUFZLEdBQWUsRUFBRSxDQUFBO1FBRW5DLGVBQWU7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBRSxXQUFXO1FBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU87WUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFBO1FBQ3JDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBRSxPQUFhO1FBQ3BCLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFBO1FBQ3BFLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFrQixDQUFFLE9BQWEsRUFBRSxhQUFxQjtRQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3JCLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUUsV0FBbUI7UUFDcEMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNuRCxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUNyRSxDQUFDO1FBQ0QsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBRSxXQUFtQixFQUFFLGFBQXFCO1FBQzVELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDcEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxRQUFRLEVBQUUsYUFBYTtZQUN2QixNQUFNLEVBQUUsY0FBYyxDQUFDLE9BQU87WUFDOUIsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUk7WUFDaEMsVUFBVSxFQUFFLGFBQWE7WUFDekIsR0FBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsdUJBQXVCLENBQUUsV0FBbUI7SUFFNUMsQ0FBQztDQUNGO0FBNUVELGtDQTRFQyJ9
 | 
			
		||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0RBQStDO0FBTS9DO0lBR0U7UUFGQSxZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBUSxDQUFBO1FBQ25DLGVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFZLENBQUE7UUFFeEQsZUFBZTtJQUNqQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFFLFdBQVc7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTztZQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUE7UUFDckMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFFLE9BQWE7UUFDcEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUE7UUFDcEUsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUUsT0FBYSxFQUFFLGFBQXFCO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDckIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQkFBaUIsQ0FBRSxXQUFtQjtRQUNwQyxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ25ELEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBRSxXQUFtQixFQUFFLGFBQXFCO1FBQzVELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDcEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxRQUFRLEVBQUUsYUFBYTtZQUN2QixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ3JDLENBQUM7WUFDRCxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ2xCLFdBQVcsRUFBRSxjQUFjLENBQUMsSUFBSTtZQUNoQyxVQUFVLEVBQUUsYUFBYTtZQUN6QixHQUFHLEVBQUUsR0FBRztTQUNULENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBRSxXQUFtQjtRQUN2QyxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTztZQUM3RCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUE7UUFDNUMsQ0FBQyxDQUFDLENBQUE7UUFDRixlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFDRDs7O09BR0c7SUFDSCx1QkFBdUIsQ0FBRSxXQUFtQjtJQUU1QyxDQUFDO0NBQ0Y7QUFwRkQsa0NBb0ZDIn0=
 | 
			
		||||
		Reference in New Issue
	
	Block a user