@alterior/tasks 3.0.0-rc.4 → 3.0.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @alterior/tasks
2
2
  [![Version](https://img.shields.io/npm/v/@alterior/tasks.svg)](https://www.npmjs.com/package/@alterior/tasks)
3
3
 
4
- A framework for enqueuing and processing jobs from Redis queues in Typescript. Build background task runners with this.
4
+ Provides a type-safe task queue framework coordinated via Redis.
5
5
 
6
6
  ## Getting started
7
7
 
@@ -20,27 +20,12 @@ First, build a task worker:
20
20
  import { Worker } from '@alterior/tasks';
21
21
  import { Logger } from '@alterior/logger';
22
22
 
23
- export class MyTaskHost extends Worker {
24
- constructor(
25
- private logger : Logger,
26
- private taskRunner : TaskRunner
27
- ) {
28
-
29
- }
30
- get name() { return '@myorg/mypackage:MyTask'; }
23
+ @Task()
24
+ export class HelloPrinter extends Worker {
25
+ name = '@myorg/mypackage:Hello';
31
26
 
32
- async transcodeToFormat({ videoId : string, format : string }) {
33
- this.logger.info('Transcoding to format...');
34
- run(`ffmpeg /storage/${video}.mp4`);
35
- }
36
-
37
- async transcode({ videoId : string }) {
38
- this.logger.info('Queuing transcoding tasks...');
39
-
40
- this.taskRunner.worker()
41
-
42
- await this.enqueue('transcodeToFormat', { videoId: 'abcdef', format: '1080p' });
43
- await this.enqueue('transcodeToFormat', { videoId: 'abcdef', format: '720p' });
27
+ async sayHello(thing : string) {
28
+ console.log(`Hello ${thing}!`);
44
29
  }
45
30
  }
46
31
  ```
@@ -50,14 +35,14 @@ However, it is more scalable and type-safe to specify a task per class:
50
35
  ```typescript
51
36
 
52
37
  @Task()
53
- export class TranscodeToFormatTask extends TaskRunner {
38
+ export class TranscodeToFormatTask extends Worker {
54
39
  execute() {
55
40
  run(`ffmpeg /storage/${video}.mp4`);
56
41
  }
57
42
  }
58
43
 
59
44
  @Task()
60
- export class TranscodeTask extends TaskRunner {
45
+ export class TranscodeTask extends Worker {
61
46
  execute() {
62
47
  await TranscodeToFormatTask.enqueue({ videoId: 'abcdef', format: '1080p' });
63
48
  }
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  (0, tslib_1.__exportStar)(require("./tasks"), exports);
5
5
  (0, tslib_1.__exportStar)(require("./task-runner"), exports);
6
6
  (0, tslib_1.__exportStar)(require("./task-worker"), exports);
@@ -1,41 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskRunner = void 0;
4
- var tslib_1 = require("tslib");
5
- var di_1 = require("@alterior/di");
6
- var tasks_1 = require("./tasks");
7
- var TaskRunner = /** @class */ (function () {
8
- function TaskRunner(_registry) {
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@alterior/di");
6
+ const tasks_1 = require("./tasks");
7
+ let TaskRunner = class TaskRunner {
8
+ constructor(_registry) {
9
9
  this._registry = _registry;
10
10
  }
11
- Object.defineProperty(TaskRunner.prototype, "registry", {
12
- get: function () {
13
- return this._registry;
14
- },
15
- enumerable: false,
16
- configurable: true
17
- });
11
+ get registry() {
12
+ return this._registry;
13
+ }
18
14
  /**
19
15
  * Acquire a Remote for the given service where any calls to the remote will
20
16
  * resolve to a QueueJob which can be further interacted with. Promise will
21
17
  * resolve once the item has been successfully delivered to the event queue.
22
18
  */
23
- TaskRunner.prototype.worker = function (workerClass) {
19
+ worker(workerClass) {
24
20
  return this.registry.get(workerClass).async;
25
- };
21
+ }
26
22
  /**
27
23
  * Acquire a Remote for the given service where any calls to the remote will await
28
24
  * the full completion of the remote call and resolve to the return value of the
29
25
  * remote function. If you only want to enqueue a task, use `worker()` instead.
30
26
  */
31
- TaskRunner.prototype.service = function (workerClass) {
27
+ service(workerClass) {
32
28
  return this.registry.get(workerClass).sync;
33
- };
34
- TaskRunner = (0, tslib_1.__decorate)([
35
- (0, di_1.Injectable)(),
36
- (0, tslib_1.__metadata)("design:paramtypes", [tasks_1.TaskWorkerRegistry])
37
- ], TaskRunner);
38
- return TaskRunner;
39
- }());
29
+ }
30
+ };
31
+ TaskRunner = (0, tslib_1.__decorate)([
32
+ (0, di_1.Injectable)(),
33
+ (0, tslib_1.__metadata)("design:paramtypes", [tasks_1.TaskWorkerRegistry])
34
+ ], TaskRunner);
40
35
  exports.TaskRunner = TaskRunner;
41
36
  //# sourceMappingURL=task-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"task-runner.js","sourceRoot":"","sources":["../src/task-runner.ts"],"names":[],"mappings":";;;;AAAA,mCAAkD;AAClD,iCAAgL;AAIhL;IACI,oBACY,SAA8B;QAA9B,cAAS,GAAT,SAAS,CAAqB;IAE1C,CAAC;IAED,sBAAI,gCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAED;;;;OAIG;IACH,2BAAM,GAAN,UAAyB,WAA4B;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,WAAW,CAAC,CAAC,KAAK,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,4BAAO,GAAP,UAA0B,WAA4B;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,WAAW,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IA1BQ,UAAU;QADtB,IAAA,eAAU,GAAE;sDAGe,0BAAkB;OAFjC,UAAU,CA2BtB;IAAD,iBAAC;CAAA,AA3BD,IA2BC;AA3BY,gCAAU"}
1
+ {"version":3,"file":"task-runner.js","sourceRoot":"","sources":["../src/task-runner.ts"],"names":[],"mappings":";;;;AAAA,qCAAkD;AAClD,mCAAgL;AAIhL,IAAa,UAAU,GAAvB,MAAa,UAAU;IACnB,YACY,SAA8B;QAA9B,cAAS,GAAT,SAAS,CAAqB;IAE1C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAmB,WAA4B;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,WAAW,CAAC,CAAC,KAAK,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAmB,WAA4B;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,WAAW,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;CACJ,CAAA;AA3BY,UAAU;IADtB,IAAA,eAAU,GAAE;kDAGe,0BAAkB;GAFjC,UAAU,CA2BtB;AA3BY,gCAAU"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskWorker = void 0;
4
- var tslib_1 = require("tslib");
5
- var common_1 = require("@alterior/common");
6
- var di_1 = require("@alterior/di");
7
- var tasks_1 = require("./tasks");
8
- var util = (0, tslib_1.__importStar)(require("util"));
9
- var TaskWorker = /** @class */ (function () {
10
- function TaskWorker(_injector, _client, _options, _appOptions, _logger) {
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@alterior/common");
6
+ const di_1 = require("@alterior/di");
7
+ const tasks_1 = require("./tasks");
8
+ const util = (0, tslib_1.__importStar)(require("util"));
9
+ class TaskWorker {
10
+ constructor(_injector, _client, _options, _appOptions, _logger) {
11
11
  this._injector = _injector;
12
12
  this._client = _client;
13
13
  this._options = _options;
@@ -15,136 +15,85 @@ var TaskWorker = /** @class */ (function () {
15
15
  this._logger = _logger;
16
16
  this._taskHandlers = {};
17
17
  if (!_injector)
18
- throw new common_1.ArgumentNullError("injector");
18
+ throw new common_1.ArgumentNullError(`injector`);
19
19
  if (!_options)
20
- throw new common_1.ArgumentNullError("options");
20
+ throw new common_1.ArgumentNullError(`options`);
21
21
  if (!_appOptions)
22
- throw new common_1.ArgumentNullError("appOptions");
22
+ throw new common_1.ArgumentNullError(`appOptions`);
23
23
  }
24
- Object.defineProperty(TaskWorker.prototype, "injector", {
25
- get: function () {
26
- return this._injector;
27
- },
28
- enumerable: false,
29
- configurable: true
30
- });
31
- Object.defineProperty(TaskWorker.prototype, "options", {
32
- get: function () {
33
- return this._options;
34
- },
35
- enumerable: false,
36
- configurable: true
37
- });
38
- Object.defineProperty(TaskWorker.prototype, "appOptions", {
39
- get: function () {
40
- return this._appOptions;
41
- },
42
- enumerable: false,
43
- configurable: true
44
- });
45
- Object.defineProperty(TaskWorker.prototype, "queue", {
46
- get: function () {
47
- return this._client.queue;
48
- },
49
- enumerable: false,
50
- configurable: true
51
- });
52
- TaskWorker.prototype.stop = function () {
24
+ get injector() {
25
+ return this._injector;
26
+ }
27
+ get options() {
28
+ return this._options;
29
+ }
30
+ get appOptions() {
31
+ return this._appOptions;
32
+ }
33
+ get queue() {
34
+ return this._client.queue;
35
+ }
36
+ stop() {
53
37
  this.queue.close();
54
- };
55
- TaskWorker.prototype.start = function () {
56
- var _this = this;
57
- this.queue.process(function (job, done) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
58
- var task, handler;
59
- var _this = this;
60
- return (0, tslib_1.__generator)(this, function (_a) {
61
- switch (_a.label) {
62
- case 0:
63
- task = job.data;
64
- if (!(!task || !task.id)) return [3 /*break*/, 2];
65
- console.log("TaskWorker: Could not process invalid task:");
66
- console.dir(task, { depth: 3 });
67
- console.log("Associated job data:");
68
- console.dir(job, { depth: 3 });
69
- return [4 /*yield*/, job.discard()];
70
- case 1:
71
- _a.sent();
72
- done(new Error("Invalid job task"), null);
73
- _a.label = 2;
74
- case 2:
75
- handler = this._taskHandlers[task.id];
76
- if (!handler) {
77
- console.error("No handler for task ID '" + task.id + "'! Check that your worker class declares this task ID!");
78
- console.info("Task was: ");
79
- console.dir(task, { depth: 3 });
80
- console.info("Registered worker IDs: " + Object.keys(this._taskHandlers).join(', '));
81
- }
82
- return [4 /*yield*/, this._logger.withContext({ host: 'tasks', worker: handler.worker }, "TaskWorker | " + handler.worker.constructor.name + "." + task.method + "(" + task.args.map(function (x) { return util.inspect(x, false, 2); }).join(', ') + ")", function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
83
- var result, e_1;
84
- return (0, tslib_1.__generator)(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- this._logger.info("TaskWorker: " + task.method + "() of worker " + handler.worker.constructor.name + " (ID '" + task.id + "')");
88
- _a.label = 1;
89
- case 1:
90
- _a.trys.push([1, 3, , 4]);
91
- return [4 /*yield*/, handler.handler(task.method, task.args)];
92
- case 2:
93
- result = _a.sent();
94
- done(undefined, result);
95
- return [3 /*break*/, 4];
96
- case 3:
97
- e_1 = _a.sent();
98
- console.error("Caught error while running task " + job.data.id + "." + (job.data.method || 'execute') + "():");
99
- console.error(e_1);
100
- done(e_1);
101
- return [3 /*break*/, 4];
102
- case 4: return [2 /*return*/];
103
- }
104
- });
105
- }); })];
106
- case 3:
107
- _a.sent();
108
- return [2 /*return*/];
38
+ }
39
+ start() {
40
+ this.queue.process((job, done) => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
41
+ let task = job.data;
42
+ if (!task || !task.id) {
43
+ console.log(`TaskWorker: Could not process invalid task:`);
44
+ console.dir(task, { depth: 3 });
45
+ console.log(`Associated job data:`);
46
+ console.dir(job, { depth: 3 });
47
+ yield job.discard();
48
+ done(new Error(`Invalid job task`), null);
49
+ }
50
+ let handler = this._taskHandlers[task.id];
51
+ if (!handler) {
52
+ console.error(`No handler for task ID '${task.id}'! Check that your worker class declares this task ID!`);
53
+ console.info(`Task was: `);
54
+ console.dir(task, { depth: 3 });
55
+ console.info(`Registered worker IDs: ${Object.keys(this._taskHandlers).join(', ')}`);
56
+ }
57
+ yield this._logger.withContext({ host: 'tasks', worker: handler.worker }, `TaskWorker | ${handler.worker.constructor.name}.${task.method}(${task.args.map(x => util.inspect(x, false, 2)).join(', ')})`, () => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
58
+ this._logger.info(`TaskWorker: ${task.method}() of worker ${handler.worker.constructor.name} (ID '${task.id}')`);
59
+ try {
60
+ let result = yield handler.handler(task.method, task.args);
61
+ done(undefined, result);
109
62
  }
110
- });
111
- }); });
112
- };
113
- TaskWorker.prototype.registerHandler = function (name, handler) {
63
+ catch (e) {
64
+ console.error(`Caught error while running task ${job.data.id}.${job.data.method || 'execute'}():`);
65
+ console.error(e);
66
+ done(e);
67
+ }
68
+ }));
69
+ }));
70
+ }
71
+ registerHandler(name, handler) {
114
72
  this._taskHandlers[name] = handler;
115
- };
116
- TaskWorker.prototype.registerClasses = function (taskClasses) {
117
- var _this = this;
118
- var providers = taskClasses;
119
- var ownInjector = di_1.ReflectiveInjector.resolveAndCreate(providers, this.injector);
120
- var allRoutes = [];
121
- var tasks = taskClasses.map(function (taskClass) {
122
- var id = taskClass.name;
123
- var annotation = tasks_1.TaskAnnotation.getForClass(taskClass);
124
- var instance = ownInjector.get(taskClass);
73
+ }
74
+ registerClasses(taskClasses) {
75
+ let providers = taskClasses;
76
+ let ownInjector = di_1.ReflectiveInjector.resolveAndCreate(providers, this.injector);
77
+ let allRoutes = [];
78
+ let tasks = taskClasses.map(taskClass => {
79
+ let id = taskClass.name;
80
+ let annotation = tasks_1.TaskAnnotation.getForClass(taskClass);
81
+ let instance = ownInjector.get(taskClass);
125
82
  if (instance.name)
126
83
  id = instance.name;
127
84
  if (annotation && annotation.id)
128
85
  id = annotation.id;
129
- _this.registerHandler(id, {
86
+ this.registerHandler(id, {
130
87
  worker: instance,
131
- handler: function (methodName, args) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
132
- var impl;
133
- return (0, tslib_1.__generator)(this, function (_a) {
134
- switch (_a.label) {
135
- case 0:
136
- impl = instance.constructor.prototype[methodName];
137
- if (typeof impl !== 'function' || methodName.startsWith('_'))
138
- throw new common_1.InvalidOperationError("Invalid task method " + methodName);
139
- return [4 /*yield*/, instance[methodName].apply(instance, (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(args), false))];
140
- case 1: return [2 /*return*/, _a.sent()];
141
- }
142
- });
143
- }); }
88
+ handler: (methodName, args) => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
89
+ let impl = instance.constructor.prototype[methodName];
90
+ if (typeof impl !== 'function' || methodName.startsWith('_'))
91
+ throw new common_1.InvalidOperationError(`Invalid task method ${methodName}`);
92
+ return yield instance[methodName](...args);
93
+ })
144
94
  });
145
95
  });
146
- };
147
- return TaskWorker;
148
- }());
96
+ }
97
+ }
149
98
  exports.TaskWorker = TaskWorker;
150
99
  //# sourceMappingURL=task-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"task-worker.js","sourceRoot":"","sources":["../src/task-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-worker.js","sourceRoot":"","sources":["../src/task-worker.ts"],"names":[],"mappings":";;;;AAAA,6CAA2F;AAC3F,qCAAsE;AACtE,mCAA8F;AAK9F,wDAA6B;AAO7B,MAAa,UAAU;IACnB,YACM,SAAoB,EACpB,OAAyB,EACnB,QAA4B,EAClC,WAAgC,EAChC,OAAgB;QAJhB,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAkB;QACnB,aAAQ,GAAR,QAAQ,CAAoB;QAClC,gBAAW,GAAX,WAAW,CAAqB;QAChC,YAAO,GAAP,OAAO,CAAS;QAyBd,kBAAa,GAAG,EAAE,CAAC;QAvB7B,IAAI,CAAC,SAAS;YACb,MAAM,IAAI,0BAAiB,CAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,CAAC,QAAQ;YACZ,MAAM,IAAI,0BAAiB,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,CAAC,WAAW;YACf,MAAM,IAAI,0BAAiB,CAAC,YAAY,CAAC,CAAC;IAEzC,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAIJ,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAO,GAAwB,EAAE,IAAI,EAAE,EAAE;YAC3D,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAEpB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAE/B,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;gBAEpB,IAAI,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;aAC1C;YAED,IAAI,OAAO,GAAiB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAExD,IAAI,CAAC,OAAO,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,EAAE,wDAAwD,CAAC,CAAC;gBAE1G,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAEhC,OAAO,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACrF;YAED,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAC7B,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EACzC,gBAAgB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAC7H,GAAS,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,gBAAgB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;gBACjH,IAAI;oBACH,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3D,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBACxB;gBAAC,OAAO,CAAC,EAAE;oBACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,KAAK,CAAC,CAAC;oBACnG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAEjB,IAAI,CAAC,CAAC,CAAC,CAAC;iBACR;YACF,CAAC,CAAA,CACD,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;IACJ,CAAC;IAEE,eAAe,CAAC,IAAa,EAAE,OAAqB;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,WAAwB;QAEvC,IAAI,SAAS,GAAgB,WAAyB,CAAC;QACjD,IAAI,WAAW,GAAG,uBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtF,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAEvC,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;YACxB,IAAI,UAAU,GAAG,sBAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,QAAQ,GAAY,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEnD,IAAI,QAAQ,CAAC,IAAI;gBAChB,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAEpB,IAAI,UAAU,IAAI,UAAU,CAAC,EAAE;gBAC9B,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;YAEpB,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE;gBACxB,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,CAAO,UAAU,EAAE,IAAI,EAAE,EAAE;oBACnC,IAAI,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAEtD,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;wBAC3D,MAAM,IAAI,8BAAqB,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;oBAEtE,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5C,CAAC,CAAA;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAzHD,gCAyHC"}
package/dist/tasks.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskWorkerRegistry = exports.TaskQueueClient = exports.TaskWorkerProxy = exports.Worker = exports.Task = exports.TaskAnnotation = exports.QUEUE_OPTIONS = exports.TaskModuleOptionsRef = void 0;
4
- var tslib_1 = require("tslib");
5
- var annotations_1 = require("@alterior/annotations");
6
- var di_1 = require("@alterior/di");
7
- var bull_1 = (0, tslib_1.__importDefault)(require("bull"));
4
+ const tslib_1 = require("tslib");
5
+ const annotations_1 = require("@alterior/annotations");
6
+ const di_1 = require("@alterior/di");
7
+ const bull_1 = (0, tslib_1.__importDefault)(require("bull"));
8
8
  /**
9
9
  * This injectable allows configuration of the task system.
10
10
  * Include a provider for the injection token `QUEUE_OPTIONS`
@@ -13,205 +13,145 @@ var bull_1 = (0, tslib_1.__importDefault)(require("bull"));
13
13
  * For instance: `[ provide: QUEUE_OPTIONS, useValue: new TaskClientOptionsRef({ optionsHere }) ]`
14
14
  *
15
15
  */
16
- var TaskModuleOptionsRef = /** @class */ (function () {
17
- function TaskModuleOptionsRef(options) {
16
+ let TaskModuleOptionsRef = class TaskModuleOptionsRef {
17
+ constructor(options) {
18
18
  this.options = options;
19
19
  }
20
- TaskModuleOptionsRef = (0, tslib_1.__decorate)([
21
- (0, di_1.Injectable)(),
22
- (0, tslib_1.__metadata)("design:paramtypes", [Object])
23
- ], TaskModuleOptionsRef);
24
- return TaskModuleOptionsRef;
25
- }());
20
+ };
21
+ TaskModuleOptionsRef = (0, tslib_1.__decorate)([
22
+ (0, di_1.Injectable)(),
23
+ (0, tslib_1.__metadata)("design:paramtypes", [Object])
24
+ ], TaskModuleOptionsRef);
26
25
  exports.TaskModuleOptionsRef = TaskModuleOptionsRef;
27
26
  exports.QUEUE_OPTIONS = new di_1.InjectionToken('QueueOptions');
28
- var TaskAnnotation = /** @class */ (function (_super) {
29
- (0, tslib_1.__extends)(TaskAnnotation, _super);
30
- function TaskAnnotation(id) {
31
- var _this = _super.call(this) || this;
32
- _this.id = id;
33
- return _this;
34
- }
35
- TaskAnnotation = (0, tslib_1.__decorate)([
36
- (0, annotations_1.MetadataName)('@alterior/tasks:Task'),
37
- (0, tslib_1.__metadata)("design:paramtypes", [String])
38
- ], TaskAnnotation);
39
- return TaskAnnotation;
40
- }(annotations_1.Annotation));
27
+ let TaskAnnotation = class TaskAnnotation extends annotations_1.Annotation {
28
+ constructor(id) {
29
+ super();
30
+ this.id = id;
31
+ }
32
+ };
33
+ TaskAnnotation = (0, tslib_1.__decorate)([
34
+ (0, annotations_1.MetadataName)('@alterior/tasks:Task'),
35
+ (0, tslib_1.__metadata)("design:paramtypes", [String])
36
+ ], TaskAnnotation);
41
37
  exports.TaskAnnotation = TaskAnnotation;
42
38
  exports.Task = TaskAnnotation.decorator();
43
- var Worker = /** @class */ (function () {
44
- function Worker() {
45
- }
46
- Object.defineProperty(Worker.prototype, "options", {
47
- get: function () { return undefined; },
48
- enumerable: false,
49
- configurable: true
50
- });
51
- Object.defineProperty(Worker.prototype, "currentJob", {
52
- get: function () {
53
- return Zone.current.get('workerStateJob');
54
- },
55
- enumerable: false,
56
- configurable: true
57
- });
58
- return Worker;
59
- }());
60
- exports.Worker = Worker;
61
- var TaskWorkerProxy = /** @class */ (function () {
62
- function TaskWorkerProxy() {
39
+ class Worker {
40
+ get options() { return undefined; }
41
+ get currentJob() {
42
+ return Zone.current.get('workerStateJob');
63
43
  }
64
- TaskWorkerProxy.create = function (handler) {
44
+ }
45
+ exports.Worker = Worker;
46
+ class TaskWorkerProxy {
47
+ static create(handler) {
65
48
  return new Proxy({}, {
66
- get: function (t, key, receiver) {
67
- return function () {
68
- var args = [];
69
- for (var _i = 0; _i < arguments.length; _i++) {
70
- args[_i] = arguments[_i];
71
- }
72
- return handler.apply(void 0, (0, tslib_1.__spreadArray)([key], (0, tslib_1.__read)(args), false));
73
- };
49
+ get(t, key, receiver) {
50
+ return (...args) => handler(key, ...args);
74
51
  }
75
52
  });
76
- };
77
- TaskWorkerProxy.createAsync = function (queueClient, id, options) {
78
- return this.create(function (method) {
79
- var args = [];
80
- for (var _i = 1; _i < arguments.length; _i++) {
81
- args[_i - 1] = arguments[_i];
82
- }
53
+ }
54
+ static createAsync(queueClient, id, options) {
55
+ return this.create((method, ...args) => {
83
56
  if (method === 'withOptions')
84
57
  return TaskWorkerProxy.createAsync(queueClient, id, Object.assign({}, options, args[0]));
85
58
  else
86
- return queueClient.enqueue({ id: id, method: method, args: args }, options);
59
+ return queueClient.enqueue({ id, method, args }, options);
87
60
  });
88
- };
89
- TaskWorkerProxy.createSync = function (queueClient, id, options) {
90
- return this.create(function (method) {
91
- var args = [];
92
- for (var _i = 1; _i < arguments.length; _i++) {
93
- args[_i - 1] = arguments[_i];
94
- }
61
+ }
62
+ static createSync(queueClient, id, options) {
63
+ return this.create((method, ...args) => {
95
64
  if (method === 'withOptions')
96
65
  return TaskWorkerProxy.createSync(queueClient, id, Object.assign({}, options, args[0]));
97
66
  else
98
- return queueClient.enqueue({ id: id, method: method, args: args }, options).then(function (v) { return v.finished; });
67
+ return queueClient.enqueue({ id, method, args }, options).then(v => v.finished);
99
68
  });
100
- };
101
- return TaskWorkerProxy;
102
- }());
69
+ }
70
+ }
103
71
  exports.TaskWorkerProxy = TaskWorkerProxy;
104
- var TaskQueueClient = /** @class */ (function () {
105
- function TaskQueueClient(optionsRef) {
72
+ let TaskQueueClient = class TaskQueueClient {
73
+ constructor(optionsRef) {
106
74
  this.optionsRef = optionsRef;
107
75
  this._queue = new bull_1.default(this.queueName, this.queueOptions);
108
76
  }
109
- Object.defineProperty(TaskQueueClient.prototype, "queue", {
110
- get: function () {
111
- return this._queue;
112
- },
113
- enumerable: false,
114
- configurable: true
115
- });
116
- Object.defineProperty(TaskQueueClient.prototype, "options", {
117
- /**
118
- * Get the task client options. See
119
- */
120
- get: function () {
121
- return (this.optionsRef ? this.optionsRef.options : undefined) || {};
122
- },
123
- enumerable: false,
124
- configurable: true
125
- });
126
- Object.defineProperty(TaskQueueClient.prototype, "queueName", {
127
- get: function () {
128
- return this.options.queueName || 'alteriorTasks';
129
- },
130
- enumerable: false,
131
- configurable: true
132
- });
133
- Object.defineProperty(TaskQueueClient.prototype, "queueOptions", {
134
- get: function () {
135
- var queueOptions = Object.assign({}, this.options.queueOptions);
136
- if (!queueOptions.redis) {
137
- queueOptions.redis = {
138
- port: 6379,
139
- host: '127.0.0.1',
140
- db: 6
141
- };
142
- }
143
- return queueOptions;
144
- },
145
- enumerable: false,
146
- configurable: true
147
- });
77
+ get queue() {
78
+ return this._queue;
79
+ }
80
+ /**
81
+ * Get the task client options. See
82
+ */
83
+ get options() {
84
+ return (this.optionsRef ? this.optionsRef.options : undefined) || {};
85
+ }
86
+ get queueName() {
87
+ return this.options.queueName || 'alteriorTasks';
88
+ }
89
+ get queueOptions() {
90
+ let queueOptions = Object.assign({}, this.options.queueOptions);
91
+ if (!queueOptions.redis) {
92
+ queueOptions.redis = {
93
+ port: 6379,
94
+ host: '127.0.0.1',
95
+ db: 6
96
+ };
97
+ }
98
+ return queueOptions;
99
+ }
148
100
  /**
149
101
  * Enqueue a new task. To handle the task on the worker side, register for it with `.process()`
150
102
  */
151
- TaskQueueClient.prototype.enqueue = function (data, opts) {
152
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
153
- return (0, tslib_1.__generator)(this, function (_a) {
154
- switch (_a.label) {
155
- case 0: return [4 /*yield*/, this._queue.add(data, opts)];
156
- case 1: return [2 /*return*/, _a.sent()];
157
- }
158
- });
103
+ enqueue(data, opts) {
104
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
105
+ return yield this._queue.add(data, opts);
159
106
  });
160
- };
161
- TaskQueueClient = (0, tslib_1.__decorate)([
162
- (0, di_1.Injectable)(),
163
- (0, tslib_1.__param)(0, (0, di_1.Optional)()),
164
- (0, tslib_1.__metadata)("design:paramtypes", [TaskModuleOptionsRef])
165
- ], TaskQueueClient);
166
- return TaskQueueClient;
167
- }());
107
+ }
108
+ };
109
+ TaskQueueClient = (0, tslib_1.__decorate)([
110
+ (0, di_1.Injectable)(),
111
+ (0, tslib_1.__param)(0, (0, di_1.Optional)()),
112
+ (0, tslib_1.__metadata)("design:paramtypes", [TaskModuleOptionsRef])
113
+ ], TaskQueueClient);
168
114
  exports.TaskQueueClient = TaskQueueClient;
169
- var TaskWorkerRegistry = /** @class */ (function () {
170
- function TaskWorkerRegistry(injector, client) {
115
+ let TaskWorkerRegistry = class TaskWorkerRegistry {
116
+ constructor(injector, client) {
171
117
  this.injector = injector;
172
118
  this.client = client;
173
119
  this._entries = {};
174
120
  }
175
- TaskWorkerRegistry.prototype.registerClass = function (injector, taskClass) {
176
- var instance = injector.get(taskClass);
177
- var id = instance.name;
121
+ registerClass(injector, taskClass) {
122
+ let instance = injector.get(taskClass);
123
+ let id = instance.name;
178
124
  if (this._entries[id])
179
- throw new Error("Another worker is already registered with name '" + id + "'");
125
+ throw new Error(`Another worker is already registered with name '${id}'`);
180
126
  this._entries[id] = {
181
127
  type: taskClass,
182
128
  local: instance,
183
129
  sync: TaskWorkerProxy.createSync(this.client, id, instance.options),
184
130
  async: TaskWorkerProxy.createAsync(this.client, id, instance.options)
185
131
  };
186
- };
187
- Object.defineProperty(TaskWorkerRegistry.prototype, "all", {
188
- get: function () {
189
- return Object.values(this._entries);
190
- },
191
- enumerable: false,
192
- configurable: true
193
- });
194
- TaskWorkerRegistry.prototype.get = function (cls) {
195
- var entry = this.all.find(function (x) { return x.type === cls; });
132
+ }
133
+ get all() {
134
+ return Object.values(this._entries);
135
+ }
136
+ get(cls) {
137
+ let entry = this.all.find(x => x.type === cls);
196
138
  if (!entry)
197
- throw new Error("Worker class " + cls.name + " is not registered. Add it to the 'tasks' property of a module or call TaskWorkerRegistry.register(" + cls.name + ")");
139
+ throw new Error(`Worker class ${cls.name} is not registered. Add it to the 'tasks' property of a module or call TaskWorkerRegistry.register(${cls.name})`);
198
140
  return entry;
199
- };
200
- TaskWorkerRegistry.prototype.getByName = function (name) {
141
+ }
142
+ getByName(name) {
201
143
  return this._entries[name];
202
- };
203
- TaskWorkerRegistry.prototype.registerClasses = function (classes) {
204
- var _this = this;
205
- var taskClasses = classes;
206
- var ownInjector = di_1.ReflectiveInjector.resolveAndCreate(taskClasses, this.injector);
207
- taskClasses.forEach(function (taskClass) { return _this.registerClass(ownInjector, taskClass); });
208
- };
209
- TaskWorkerRegistry = (0, tslib_1.__decorate)([
210
- (0, di_1.Injectable)(),
211
- (0, tslib_1.__metadata)("design:paramtypes", [di_1.Injector,
212
- TaskQueueClient])
213
- ], TaskWorkerRegistry);
214
- return TaskWorkerRegistry;
215
- }());
144
+ }
145
+ registerClasses(classes) {
146
+ let taskClasses = classes;
147
+ let ownInjector = di_1.ReflectiveInjector.resolveAndCreate(taskClasses, this.injector);
148
+ taskClasses.forEach(taskClass => this.registerClass(ownInjector, taskClass));
149
+ }
150
+ };
151
+ TaskWorkerRegistry = (0, tslib_1.__decorate)([
152
+ (0, di_1.Injectable)(),
153
+ (0, tslib_1.__metadata)("design:paramtypes", [di_1.Injector,
154
+ TaskQueueClient])
155
+ ], TaskWorkerRegistry);
216
156
  exports.TaskWorkerRegistry = TaskWorkerRegistry;
217
157
  //# sourceMappingURL=tasks.js.map
package/dist/tasks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
+ var TasksModule_1;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.TasksModule = void 0;
4
- var tslib_1 = require("tslib");
5
- var di_1 = require("@alterior/di");
6
- var runtime_1 = require("@alterior/runtime");
7
- var tasks_1 = require("./tasks");
8
- var task_runner_1 = require("./task-runner");
9
- var task_worker_1 = require("./task-worker");
10
- var logging_1 = require("@alterior/logging");
5
+ const tslib_1 = require("tslib");
6
+ const di_1 = require("@alterior/di");
7
+ const runtime_1 = require("@alterior/runtime");
8
+ const tasks_1 = require("./tasks");
9
+ const task_runner_1 = require("./task-runner");
10
+ const task_worker_1 = require("./task-worker");
11
+ const logging_1 = require("@alterior/logging");
11
12
  /**
12
13
  * Import this into your application module to run tasks enqueued by other
13
14
  * services on a shared queue. The tasks which can be processed are specified
14
15
  * in the `tasks` field of one or more modules.
15
16
  */
16
- var TasksModule = /** @class */ (function () {
17
- function TasksModule(app, rolesService, client, workerRegistry, logger, _options) {
17
+ let TasksModule = TasksModule_1 = class TasksModule {
18
+ constructor(app, rolesService, client, workerRegistry, logger, _options) {
18
19
  this.app = app;
19
20
  this.rolesService = rolesService;
20
21
  this.client = client;
@@ -22,91 +23,74 @@ var TasksModule = /** @class */ (function () {
22
23
  this.logger = logger;
23
24
  this._options = _options;
24
25
  }
25
- TasksModule_1 = TasksModule;
26
26
  /**
27
27
  * Used when importing this module from the root (app) module
28
28
  * using the default configuration.
29
29
  * Should be called only once in the application.
30
30
  */
31
- TasksModule.forRoot = function () {
31
+ static forRoot() {
32
32
  return this.configure({});
33
- };
33
+ }
34
34
  /**
35
35
  * Create a configured version of the WebServerModule that can be then
36
36
  * be imported into an entry module (or feature module).
37
37
  * @param options The options to use for the web server
38
38
  */
39
- TasksModule.configure = function (options) {
39
+ static configure(options) {
40
40
  return {
41
41
  $module: TasksModule_1,
42
42
  providers: [
43
43
  { provide: tasks_1.TaskModuleOptionsRef, useValue: new tasks_1.TaskModuleOptionsRef(options) }
44
44
  ]
45
45
  };
46
- };
47
- Object.defineProperty(TasksModule.prototype, "options", {
48
- get: function () {
49
- return this._options ? this._options.options : {} || {};
50
- },
51
- enumerable: false,
52
- configurable: true
53
- });
54
- Object.defineProperty(TasksModule.prototype, "tasks", {
55
- get: function () {
56
- return [].concat.apply([], (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(this.app.runtime.definitions.map(function (x) { return x.metadata.tasks || []; })), false));
57
- },
58
- enumerable: false,
59
- configurable: true
60
- });
61
- TasksModule.prototype.altOnInit = function () {
46
+ }
47
+ get options() {
48
+ return this._options ? this._options.options : {} || {};
49
+ }
50
+ get tasks() {
51
+ return [].concat(...this.app.runtime.definitions.map(x => x.metadata.tasks || []));
52
+ }
53
+ altOnInit() {
62
54
  this.workerRegistry.registerClasses(this.tasks);
63
55
  this.worker = new task_worker_1.TaskWorker(this.app.runtime.injector, this.client, this.options, this.app.options, this.logger);
64
56
  this.worker.registerClasses(this.tasks);
65
- var self = this;
57
+ let self = this;
66
58
  this.rolesService.registerRole({
67
59
  identifier: 'task-worker',
68
60
  instance: this,
69
61
  name: 'Task Worker',
70
62
  summary: 'Pulls from the task queue and executes them using task classes registered in the module tree',
71
- start: function () {
72
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
73
- return (0, tslib_1.__generator)(this, function (_a) {
74
- self.worker.start();
75
- return [2 /*return*/];
76
- });
63
+ start() {
64
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
65
+ self.worker.start();
77
66
  });
78
67
  },
79
- stop: function () {
80
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
81
- return (0, tslib_1.__generator)(this, function (_a) {
82
- self.worker.stop();
83
- return [2 /*return*/];
84
- });
68
+ stop() {
69
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
70
+ self.worker.stop();
85
71
  });
86
72
  }
87
73
  });
88
- };
89
- var TasksModule_1;
90
- TasksModule = TasksModule_1 = (0, tslib_1.__decorate)([
91
- (0, di_1.Module)({
92
- providers: [
93
- tasks_1.TaskQueueClient,
94
- tasks_1.TaskWorkerRegistry,
95
- task_runner_1.TaskRunner
96
- ],
97
- imports: [
98
- logging_1.LoggingModule
99
- ]
100
- }),
101
- (0, tslib_1.__param)(5, (0, di_1.Optional)()),
102
- (0, tslib_1.__metadata)("design:paramtypes", [runtime_1.Application,
103
- runtime_1.RolesService,
74
+ }
75
+ };
76
+ TasksModule = TasksModule_1 = (0, tslib_1.__decorate)([
77
+ (0, di_1.Module)({
78
+ providers: [
104
79
  tasks_1.TaskQueueClient,
105
80
  tasks_1.TaskWorkerRegistry,
106
- logging_1.Logger,
107
- tasks_1.TaskModuleOptionsRef])
108
- ], TasksModule);
109
- return TasksModule;
110
- }());
81
+ task_runner_1.TaskRunner
82
+ ],
83
+ imports: [
84
+ logging_1.LoggingModule
85
+ ]
86
+ }),
87
+ (0, tslib_1.__param)(5, (0, di_1.Optional)()),
88
+ (0, tslib_1.__metadata)("design:paramtypes", [runtime_1.Application,
89
+ runtime_1.RolesService,
90
+ tasks_1.TaskQueueClient,
91
+ tasks_1.TaskWorkerRegistry,
92
+ logging_1.Logger,
93
+ tasks_1.TaskModuleOptionsRef])
94
+ ], TasksModule);
111
95
  exports.TasksModule = TasksModule;
112
96
  //# sourceMappingURL=tasks.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.module.js","sourceRoot":"","sources":["../src/tasks.module.ts"],"names":[],"mappings":";;;;AAAA,mCAA4D;AAC5D,6CAAmF;AAEnF,iCAAuG;AACvG,6CAA2C;AAC3C,6CAA2C;AAC3C,6CAA0D;AAE1D;;;;GAIG;AAWH;IACI,qBACY,GAAiB,EACjB,YAA2B,EAC3B,MAAwB,EACxB,cAAmC,EACnC,MAAe,EACH,QAA+B;QAL3C,QAAG,GAAH,GAAG,CAAc;QACjB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAkB;QACxB,mBAAc,GAAd,cAAc,CAAqB;QACnC,WAAM,GAAN,MAAM,CAAS;QACH,aAAQ,GAAR,QAAQ,CAAuB;IAGvD,CAAC;oBAVQ,WAAW;IAYpB;;;;OAIG;IACW,mBAAO,GAArB;QACI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACW,qBAAS,GAAvB,UAAwB,OAA2B;QAC/C,OAAO;YACH,OAAO,EAAE,aAAW;YACpB,SAAS,EAAE;gBACP,EAAE,OAAO,EAAE,4BAAoB,EAAE,QAAQ,EAAE,IAAI,4BAAoB,CAAC,OAAO,CAAC,EAAE;aACjF;SACJ,CAAA;IACL,CAAC;IAID,sBAAI,gCAAO;aAAX;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5D,CAAC;;;OAAA;IAED,sBAAI,8BAAK;aAAT;YACI,OAAO,EAAE,CAAC,MAAM,OAAT,EAAE,qDAAW,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAtB,CAAsB,CAAC,WAAE;QACvF,CAAC;;;OAAA;IAED,+BAAS,GAAT;QAEI,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAU,CACxB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,GAAG,CAAC,OAAO,EAChB,IAAI,CAAC,MAAM,CACd,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,8FAA8F;YACjG,KAAK;;;wBACP,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;;;;aACvB;YAEK,IAAI;;;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;;;;aACtB;SACJ,CAAC,CAAA;IAEN,CAAC;;IA1EQ,WAAW;QAVvB,IAAA,WAAM,EAAC;YACJ,SAAS,EAAE;gBACP,uBAAe;gBACf,0BAAkB;gBAClB,wBAAU;aACb;YACD,OAAO,EAAE;gBACL,uBAAa;aAChB;SACJ,CAAC;QAQO,wBAAA,IAAA,aAAQ,GAAE,CAAA;sDALG,qBAAW;YACF,sBAAY;YAClB,uBAAe;YACP,0BAAkB;YAC1B,gBAAM;YACQ,4BAAoB;OAP9C,WAAW,CA2EvB;IAAD,kBAAC;CAAA,AA3ED,IA2EC;AA3EY,kCAAW"}
1
+ {"version":3,"file":"tasks.module.js","sourceRoot":"","sources":["../src/tasks.module.ts"],"names":[],"mappings":";;;;;AAAA,qCAA4D;AAC5D,+CAAmF;AAEnF,mCAAuG;AACvG,+CAA2C;AAC3C,+CAA2C;AAC3C,+CAA0D;AAE1D;;;;GAIG;AAWH,IAAa,WAAW,mBAAxB,MAAa,WAAW;IACpB,YACY,GAAiB,EACjB,YAA2B,EAC3B,MAAwB,EACxB,cAAmC,EACnC,MAAe,EACH,QAA+B;QAL3C,QAAG,GAAH,GAAG,CAAc;QACjB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAkB;QACxB,mBAAc,GAAd,cAAc,CAAqB;QACnC,WAAM,GAAN,MAAM,CAAS;QACH,aAAQ,GAAR,QAAQ,CAAuB;IAGvD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,OAAO;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,SAAS,CAAC,OAA2B;QAC/C,OAAO;YACH,OAAO,EAAE,aAAW;YACpB,SAAS,EAAE;gBACP,EAAE,OAAO,EAAE,4BAAoB,EAAE,QAAQ,EAAE,IAAI,4BAAoB,CAAC,OAAO,CAAC,EAAE;aACjF;SACJ,CAAA;IACL,CAAC;IAID,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,KAAK;QACL,OAAO,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,SAAS;QAEL,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAU,CACxB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EACzB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,GAAG,CAAC,OAAO,EAChB,IAAI,CAAC,MAAM,CACd,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,8FAA8F;YACjG,KAAK;;oBACP,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;aAAA;YAEK,IAAI;;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvB,CAAC;aAAA;SACJ,CAAC,CAAA;IAEN,CAAC;CACJ,CAAA;AA3EY,WAAW;IAVvB,IAAA,WAAM,EAAC;QACJ,SAAS,EAAE;YACP,uBAAe;YACf,0BAAkB;YAClB,wBAAU;SACb;QACD,OAAO,EAAE;YACL,uBAAa;SAChB;KACJ,CAAC;IAQO,wBAAA,IAAA,aAAQ,GAAE,CAAA;kDALG,qBAAW;QACF,sBAAY;QAClB,uBAAe;QACP,0BAAkB;QAC1B,gBAAM;QACQ,4BAAoB;GAP9C,WAAW,CA2EvB;AA3EY,kCAAW"}
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AAAA,4BAA0B;AAC1B,iCAA+B;AAE/B,IAAA,cAAK,GAAE;KACF,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC;KACtB,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;KACzB,GAAG,EAAE,CACT"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AAAA,4BAA0B;AAC1B,mCAA+B;AAE/B,IAAA,cAAK,GAAE;KACF,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC;KACtB,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;KACzB,GAAG,EAAE,CACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alterior/tasks",
3
- "version": "3.0.0-rc.4",
3
+ "version": "3.0.0-rc.9",
4
4
  "description": "Flexible background task system",
5
5
  "author": "The Alterior Project (https://github.com/alterior-mvc)",
6
6
  "license": "MIT",
@@ -40,11 +40,11 @@
40
40
  "docs": "typedoc ."
41
41
  },
42
42
  "dependencies": {
43
- "@alterior/annotations": "^3.0.0-rc.4",
44
- "@alterior/common": "^3.0.0-rc.4",
45
- "@alterior/di": "^3.0.0-rc.4",
46
- "@alterior/logging": "^3.0.0-rc.4",
47
- "@alterior/runtime": "^3.0.0-rc.4",
43
+ "@alterior/annotations": "^3.0.0-rc.9",
44
+ "@alterior/common": "^3.0.0-rc.9",
45
+ "@alterior/di": "^3.0.0-rc.9",
46
+ "@alterior/logging": "^3.0.0-rc.9",
47
+ "@alterior/runtime": "^3.0.0-rc.9",
48
48
  "@avejidah/get-parameter-names": "^0.3.2",
49
49
  "@types/ejs": "^2.7.0",
50
50
  "bull": "^3.18.0",
@@ -71,5 +71,5 @@
71
71
  "typescript": "^4.1.5",
72
72
  "wtfnode": "^0.7.0"
73
73
  },
74
- "gitHead": "93531327b30bc837e30be6263106ea26c332c5eb"
74
+ "gitHead": "1286fba26c284c031ef03051200a25ce731c89b9"
75
75
  }