UNPKG

1.36 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const Task_1 = require("./Task");
4const promise_nodeify_1 = require("./promise-nodeify");
5const EventEmitter = require("events");
6class TaskManager extends EventEmitter {
7 constructor() {
8 super();
9 this.service = "unknown";
10 Task_1.Task.taskManager = this;
11 this.nowProcessingTasks = new Map();
12 }
13 onStartProcesTask(data) {
14 this.nowProcessingTasks.set(data, true);
15 this.emit('task-start', data);
16 }
17 onEndProcessTask(data, err) {
18 this.nowProcessingTasks.delete(data);
19 this.emit('task-end', data);
20 }
21 createTask(type, params) {
22 return new Task_1.Task(type, params);
23 }
24 purgeQueue(taskType, cb) {
25 var abstractTask = new Task_1.Task(taskType);
26 let promise = abstractTask.purgeQueue();
27 return promise_nodeify_1.promiseNodeify(promise, cb);
28 }
29 processTask(taskType, taskCallback, opts, cb) {
30 if (typeof opts === "function") {
31 cb = opts;
32 opts = {};
33 }
34 var abstractTask = new Task_1.Task(taskType);
35 let promise = abstractTask.processTask(opts, taskCallback);
36 return promise_nodeify_1.promiseNodeify(promise, cb);
37 }
38}
39exports.TaskManager = TaskManager;
40//# sourceMappingURL=TaskManager.js.map
\No newline at end of file