@decaf-ts/core 0.10.1 → 0.11.0
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 +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/esm/identity/decorators.js +9 -14
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/model/decorators.js +13 -1
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/overrides/overrides.js +19 -0
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Adapter.js +20 -3
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/Context.d.ts +5 -1
- package/lib/esm/persistence/Context.js +19 -1
- package/lib/esm/persistence/Context.js.map +1 -1
- package/lib/esm/services/services.d.ts +1 -0
- package/lib/esm/services/services.js +14 -0
- package/lib/esm/services/services.js.map +1 -1
- package/lib/esm/tasks/TaskContext.d.ts +4 -0
- package/lib/esm/tasks/TaskContext.js +14 -0
- package/lib/esm/tasks/TaskContext.js.map +1 -1
- package/lib/esm/tasks/TaskEngine.d.ts +13 -0
- package/lib/esm/tasks/TaskEngine.js +196 -2
- package/lib/esm/tasks/TaskEngine.js.map +1 -1
- package/lib/esm/tasks/TaskHandler.d.ts +1 -0
- package/lib/esm/tasks/TaskHandler.js +6 -0
- package/lib/esm/tasks/TaskHandler.js.map +1 -1
- package/lib/esm/tasks/TaskTracker.d.ts +1 -0
- package/lib/esm/tasks/TaskTracker.js +13 -0
- package/lib/esm/tasks/TaskTracker.js.map +1 -1
- package/lib/esm/tasks/builder.d.ts +24 -4
- package/lib/esm/tasks/builder.js +66 -3
- package/lib/esm/tasks/builder.js.map +1 -1
- package/lib/esm/tasks/constants.d.ts +1 -0
- package/lib/esm/tasks/constants.js +1 -0
- package/lib/esm/tasks/constants.js.map +1 -1
- package/lib/esm/tasks/models/TaskModel.d.ts +2 -0
- package/lib/esm/tasks/models/TaskModel.js +15 -0
- package/lib/esm/tasks/models/TaskModel.js.map +1 -1
- package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +2 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js +12 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -1
- package/lib/esm/tasks/types.d.ts +7 -1
- package/lib/esm/utils/ContextualLoggedClass.js +13 -1
- package/lib/esm/utils/ContextualLoggedClass.js.map +1 -1
- package/lib/identity/decorators.cjs +9 -14
- package/lib/identity/decorators.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/model/decorators.cjs +13 -1
- package/lib/model/decorators.js.map +1 -1
- package/lib/overrides/overrides.cjs +19 -0
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Adapter.cjs +20 -3
- package/lib/persistence/Adapter.js.map +1 -1
- package/lib/persistence/Context.cjs +18 -0
- package/lib/persistence/Context.d.ts +5 -1
- package/lib/persistence/Context.js.map +1 -1
- package/lib/services/services.cjs +14 -0
- package/lib/services/services.d.ts +1 -0
- package/lib/services/services.js.map +1 -1
- package/lib/tasks/TaskContext.cjs +14 -0
- package/lib/tasks/TaskContext.d.ts +4 -0
- package/lib/tasks/TaskContext.js.map +1 -1
- package/lib/tasks/TaskEngine.cjs +196 -2
- package/lib/tasks/TaskEngine.d.ts +13 -0
- package/lib/tasks/TaskEngine.js.map +1 -1
- package/lib/tasks/TaskHandler.cjs +6 -0
- package/lib/tasks/TaskHandler.d.ts +1 -0
- package/lib/tasks/TaskHandler.js.map +1 -1
- package/lib/tasks/TaskTracker.cjs +13 -0
- package/lib/tasks/TaskTracker.d.ts +1 -0
- package/lib/tasks/TaskTracker.js.map +1 -1
- package/lib/tasks/builder.cjs +68 -4
- package/lib/tasks/builder.d.ts +24 -4
- package/lib/tasks/builder.js.map +1 -1
- package/lib/tasks/constants.cjs +1 -0
- package/lib/tasks/constants.d.ts +1 -0
- package/lib/tasks/constants.js.map +1 -1
- package/lib/tasks/models/TaskModel.cjs +15 -0
- package/lib/tasks/models/TaskModel.d.ts +2 -0
- package/lib/tasks/models/TaskModel.js.map +1 -1
- package/lib/tasks/models/TaskStepSpecModel.cjs +12 -0
- package/lib/tasks/models/TaskStepSpecModel.d.ts +2 -0
- package/lib/tasks/models/TaskStepSpecModel.js.map +1 -1
- package/lib/tasks/types.d.ts +7 -1
- package/lib/utils/ContextualLoggedClass.cjs +13 -1
- package/lib/utils/ContextualLoggedClass.js.map +1 -1
- package/package.json +1 -1
package/lib/tasks/builder.cjs
CHANGED
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CompositeTaskBuilder = exports.TaskBuilder = exports.TaskBackoffBuilder = void 0;
|
|
12
|
+
exports.CompositeTaskBuilder = exports.TaskStepSpecBuilder = exports.TaskBuilder = exports.TaskBackoffBuilder = void 0;
|
|
13
13
|
const TaskModel_1 = require("./models/TaskModel.cjs");
|
|
14
14
|
const constants_1 = require("./constants.cjs");
|
|
15
15
|
const index_1 = require("./models/index.cjs");
|
|
@@ -104,6 +104,17 @@ class TaskBuilder extends decorator_validation_1.Model {
|
|
|
104
104
|
this.input = value;
|
|
105
105
|
return this;
|
|
106
106
|
}
|
|
107
|
+
setLock(value) {
|
|
108
|
+
this.lock = value;
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
setDependencies(value) {
|
|
112
|
+
this.dependencies = value;
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
setDependsOn(value) {
|
|
116
|
+
return this.setDependencies(value);
|
|
117
|
+
}
|
|
107
118
|
setMaxAttempts(value) {
|
|
108
119
|
this.maxAttempts = value;
|
|
109
120
|
return this;
|
|
@@ -148,11 +159,56 @@ __decorate([
|
|
|
148
159
|
(0, decoration_1.prop)(),
|
|
149
160
|
__metadata("design:type", Object)
|
|
150
161
|
], TaskBuilder.prototype, "input", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
(0, decoration_1.prop)(),
|
|
164
|
+
__metadata("design:type", String)
|
|
165
|
+
], TaskBuilder.prototype, "lock", void 0);
|
|
166
|
+
__decorate([
|
|
167
|
+
(0, decoration_1.prop)(),
|
|
168
|
+
(0, decorator_validation_1.list)(() => String),
|
|
169
|
+
__metadata("design:type", Array)
|
|
170
|
+
], TaskBuilder.prototype, "dependencies", void 0);
|
|
151
171
|
__decorate([
|
|
152
172
|
(0, decorator_validation_1.min)(1),
|
|
153
173
|
(0, decorator_validation_1.required)(),
|
|
154
174
|
__metadata("design:type", Number)
|
|
155
175
|
], TaskBuilder.prototype, "maxAttempts", void 0);
|
|
176
|
+
class TaskStepSpecBuilder {
|
|
177
|
+
constructor(parent, step) {
|
|
178
|
+
this.parent = parent;
|
|
179
|
+
this.step = step;
|
|
180
|
+
}
|
|
181
|
+
setClassification(value) {
|
|
182
|
+
this.step.classification = value;
|
|
183
|
+
return this;
|
|
184
|
+
}
|
|
185
|
+
setName(value) {
|
|
186
|
+
this.step.name = value;
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
189
|
+
setInput(value) {
|
|
190
|
+
this.step.input = value;
|
|
191
|
+
return this;
|
|
192
|
+
}
|
|
193
|
+
setLock(value) {
|
|
194
|
+
this.step.lock = value;
|
|
195
|
+
return this;
|
|
196
|
+
}
|
|
197
|
+
setDependsOn(value) {
|
|
198
|
+
this.step.dependsOn = value;
|
|
199
|
+
return this;
|
|
200
|
+
}
|
|
201
|
+
addStep(classification, nameOrInput, inputMaybe) {
|
|
202
|
+
return this.parent.addStep(classification, nameOrInput, inputMaybe);
|
|
203
|
+
}
|
|
204
|
+
setSteps(value) {
|
|
205
|
+
return this.parent.setSteps(value);
|
|
206
|
+
}
|
|
207
|
+
build() {
|
|
208
|
+
return this.parent;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
exports.TaskStepSpecBuilder = TaskStepSpecBuilder;
|
|
156
212
|
class CompositeTaskBuilder extends TaskBuilder {
|
|
157
213
|
constructor(arg) {
|
|
158
214
|
super(arg);
|
|
@@ -171,16 +227,24 @@ class CompositeTaskBuilder extends TaskBuilder {
|
|
|
171
227
|
addStep(classification, nameOrInput, inputMaybe) {
|
|
172
228
|
this.steps = this.steps || [];
|
|
173
229
|
const now = new Date();
|
|
230
|
+
const hasOnlyClassification = arguments.length === 1;
|
|
174
231
|
const hasThirdArg = arguments.length >= 3;
|
|
175
232
|
const name = hasThirdArg && typeof nameOrInput === "string" ? nameOrInput : undefined;
|
|
176
|
-
const input = hasThirdArg
|
|
177
|
-
|
|
233
|
+
const input = hasThirdArg
|
|
234
|
+
? inputMaybe
|
|
235
|
+
: hasOnlyClassification
|
|
236
|
+
? undefined
|
|
237
|
+
: nameOrInput;
|
|
238
|
+
const step = new TaskStepSpecModel_1.TaskStepSpecModel({
|
|
178
239
|
classification,
|
|
179
240
|
name,
|
|
180
241
|
input,
|
|
181
242
|
createdAt: now,
|
|
182
243
|
updatedAt: now,
|
|
183
|
-
})
|
|
244
|
+
});
|
|
245
|
+
this.steps.push(step);
|
|
246
|
+
if (hasOnlyClassification)
|
|
247
|
+
return new TaskStepSpecBuilder(this, step);
|
|
184
248
|
return this;
|
|
185
249
|
}
|
|
186
250
|
}
|
package/lib/tasks/builder.d.ts
CHANGED
|
@@ -22,16 +22,36 @@ export declare class TaskBuilder extends Model {
|
|
|
22
22
|
protected atomicity: TaskType;
|
|
23
23
|
protected backoff: TaskBackoffModel;
|
|
24
24
|
protected input?: any;
|
|
25
|
+
protected lock?: string;
|
|
26
|
+
protected dependencies?: string[];
|
|
25
27
|
protected maxAttempts: number;
|
|
26
28
|
setClassification(value: string): this;
|
|
27
29
|
setName(value: string): this;
|
|
28
30
|
setAtomicity(value: TaskType): this;
|
|
29
31
|
setBackoff<V extends TaskBackoffModel>(value?: TaskBackoffModel): V extends TaskBackoffModel ? this : TaskBackoffBuilder<true>;
|
|
30
32
|
setInput(value: any): this;
|
|
33
|
+
setLock(value?: string): this;
|
|
34
|
+
setDependencies(value?: string[]): this;
|
|
35
|
+
setDependsOn(value?: string[]): this;
|
|
31
36
|
setMaxAttempts(value: number): this;
|
|
32
37
|
constructor(arg?: ModelArg<TaskBuilder>);
|
|
33
38
|
build(): TaskModel<any, any>;
|
|
34
39
|
}
|
|
40
|
+
export declare class TaskStepSpecBuilder {
|
|
41
|
+
protected parent: CompositeTaskBuilder;
|
|
42
|
+
protected step: TaskStepSpecModel;
|
|
43
|
+
constructor(parent: CompositeTaskBuilder, step: TaskStepSpecModel);
|
|
44
|
+
setClassification(value: string): this;
|
|
45
|
+
setName(value?: string): this;
|
|
46
|
+
setInput(value: any): this;
|
|
47
|
+
setLock(value?: string): this;
|
|
48
|
+
setDependsOn(value?: string[]): this;
|
|
49
|
+
addStep(classification: string): TaskStepSpecBuilder;
|
|
50
|
+
addStep(classification: string, input: any): CompositeTaskBuilder;
|
|
51
|
+
addStep(classification: string, name: string, input?: any): CompositeTaskBuilder;
|
|
52
|
+
setSteps(value: TaskStepSpecModel[]): CompositeTaskBuilder;
|
|
53
|
+
build(): CompositeTaskBuilder;
|
|
54
|
+
}
|
|
35
55
|
export declare class CompositeTaskBuilder extends TaskBuilder {
|
|
36
56
|
protected steps?: TaskStepSpecModel[];
|
|
37
57
|
protected stepResults?: TaskStepSpecModel[];
|
|
@@ -43,10 +63,10 @@ export declare class CompositeTaskBuilder extends TaskBuilder {
|
|
|
43
63
|
* - addStep(classification, input?)
|
|
44
64
|
* - addStep(classification, name, input?)
|
|
45
65
|
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* is a string.
|
|
66
|
+
* When called with only `classification`, returns a TaskStepSpecBuilder so
|
|
67
|
+
* callers can configure the step and then `.build()` back to this builder.
|
|
49
68
|
*/
|
|
50
|
-
addStep(classification: string
|
|
69
|
+
addStep(classification: string): TaskStepSpecBuilder;
|
|
70
|
+
addStep(classification: string, input: any): this;
|
|
51
71
|
addStep(classification: string, name: string, input?: any): this;
|
|
52
72
|
}
|
package/lib/tasks/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/tasks/builder.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAA+C;AAC/C,+CAKqB;AACrB,8CAAkD;AAClD,sEAA+D;AAC/D,yEAQwC;AACxC,2DAAyE;AACzE,qDAA4C;AAE5C,MAAa,kBAAmD,SAAQ,4BAAK;IAe3E,YAAY,GAAkC;QAC5C,KAAK,CAAC,GAAG,CAAC,CAAC;QAbb,WAAM,GAAW,IAAI,CAAC;QAGtB,WAAM,GAAmB,0BAAc,CAAC,IAAI,CAAC;QAI7C,UAAK,GAAW,MAAM,CAAC;QAGvB,aAAQ,GAAoB,2BAAe,CAAC,WAAW,CAAC;QAItD,4BAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI;YAAE,MAAM,IAAI,+BAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,wBAAgB,CAAC,IAAI,CAAQ,CAAC;IAC3C,CAAC;CACF;AA7CD,gDA6CC;AA1CC;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,0BAAG,EAAC,IAAI,CAAC;;kDACY;AAGtB;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,6BAAM,EAAC,0BAAc,CAAC;;kDACsB;AAI7C;IAHC,IAAA,yBAAE,EAAC,QAAQ,CAAC;IACZ,IAAA,0BAAG,EAAC,IAAI,CAAC;IACT,IAAA,+BAAQ,GAAE;;iDACY;AAGvB;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,6BAAM,EAAC,2BAAe,CAAC;;oDACgC;AAkC1D,MAAa,WAAY,SAAQ,4BAAK;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/tasks/builder.ts"],"names":[],"mappings":"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"}
|
package/lib/tasks/constants.cjs
CHANGED
package/lib/tasks/constants.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tasks/constants.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,6CAA+B,CAAA;AACjC,CAAC,EARW,UAAU,0BAAV,UAAU,QAQrB;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tasks/constants.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,6CAA+B,CAAA;AACjC,CAAC,EARW,UAAU,0BAAV,UAAU,QAQrB;AAED,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,8CAA2B,CAAA;IAC3B,kCAAe,CAAA;AACjB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,kCAAiB,CAAA;IACjB,4BAAW,CAAA;IACX,sCAAqB,CAAA;IACrB,4BAAW,CAAA;AACb,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;AACzB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAEY,QAAA,QAAQ,GAAG,OAAO,CAAC;AAEnB,QAAA,uBAAuB,GAA0B;IAC5D,QAAQ,EAAE,gBAAgB;IAC1B,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,GAAG;IACf,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,GAAG;IACrB,uBAAuB,EAAE,EAAE;IAC3B,yBAAyB,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI;IACxC,YAAY,EAAE;QACZ,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,EAAE,GAAG,IAAI;KAC1B;CACuB,CAAC"}
|
|
@@ -64,12 +64,21 @@ __decorate([
|
|
|
64
64
|
(0, decoration_1.description)("optional task name for ambiguity"),
|
|
65
65
|
__metadata("design:type", String)
|
|
66
66
|
], TaskModel.prototype, "name", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, decorators_2.column)(),
|
|
69
|
+
(0, decoration_1.prop)(),
|
|
70
|
+
(0, decoration_1.description)("Optional lock key. Tasks/steps sharing the same key cannot run concurrently"),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], TaskModel.prototype, "lock", void 0);
|
|
67
73
|
__decorate([
|
|
68
74
|
(0, decorators_2.column)(),
|
|
69
75
|
(0, decorator_validation_1.required)(),
|
|
70
76
|
(0, decorator_validation_1.type)(String),
|
|
71
77
|
(0, decorator_validation_1.option)(constants_1.TaskStatus),
|
|
72
78
|
(0, index_2.index)([index_3.OrderDirection.ASC, index_3.OrderDirection.DSC]),
|
|
79
|
+
(0, index_2.index)([index_3.OrderDirection.ASC, index_3.OrderDirection.DSC], ["nextRunAt"]),
|
|
80
|
+
(0, index_2.index)([index_3.OrderDirection.ASC, index_3.OrderDirection.DSC], ["leaseExpiry"]),
|
|
81
|
+
(0, index_2.index)([index_3.OrderDirection.ASC, index_3.OrderDirection.DSC], ["scheduledTo"]),
|
|
73
82
|
(0, decoration_1.description)("Holds the task current status"),
|
|
74
83
|
__metadata("design:type", String)
|
|
75
84
|
], TaskModel.prototype, "status", void 0);
|
|
@@ -128,6 +137,12 @@ __decorate([
|
|
|
128
137
|
(0, decoration_1.description)("Task scheduled timestamp"),
|
|
129
138
|
__metadata("design:type", Date)
|
|
130
139
|
], TaskModel.prototype, "scheduledTo", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
(0, decorators_2.column)(),
|
|
142
|
+
(0, db_decorators_1.serialize)(),
|
|
143
|
+
(0, decoration_1.description)("Task dependencies. Supports '<taskId>' or '<taskId>:<step index|step reference>'"),
|
|
144
|
+
__metadata("design:type", Array)
|
|
145
|
+
], TaskModel.prototype, "dependencies", void 0);
|
|
131
146
|
__decorate([
|
|
132
147
|
(0, decoration_1.prop)(),
|
|
133
148
|
(0, decorators_2.column)(),
|
|
@@ -10,6 +10,7 @@ export declare class TaskModel<INPUT = any, OUTPUT = any> extends Model {
|
|
|
10
10
|
atomicity: TaskType;
|
|
11
11
|
classification: string;
|
|
12
12
|
name?: string;
|
|
13
|
+
lock?: string;
|
|
13
14
|
status: TaskStatus;
|
|
14
15
|
input?: INPUT;
|
|
15
16
|
output?: OUTPUT;
|
|
@@ -19,6 +20,7 @@ export declare class TaskModel<INPUT = any, OUTPUT = any> extends Model {
|
|
|
19
20
|
backoff: TaskBackoffModel;
|
|
20
21
|
nextRunAt?: Date;
|
|
21
22
|
scheduledTo?: Date;
|
|
23
|
+
dependencies?: string[];
|
|
22
24
|
leaseOwner?: string;
|
|
23
25
|
leaseExpiry?: Date;
|
|
24
26
|
steps?: TaskStepSpecModel[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEASwC;AACxC,gEAA+C;AAC/C,kDAAoD;AACpD,yDAAkD;AAClD,6DAAsD;AAGtD,qDAAyD;AACzD,2DAAoD;AACpD,6DAOgC;AAEhC,6DAAsD;AACtD,yDAA+C;AAC/C,mDAA0C;AAC1C,wDAAwD;AAKjD,IAAM,SAAS,GAAf,MAAM,SAAqC,SAAQ,4BAAK;
|
|
1
|
+
{"version":3,"file":"TaskModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.TaskStepSpecModel = void 0;
|
|
13
13
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
14
14
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
15
|
+
const decorator_validation_2 = require("@decaf-ts/decorator-validation");
|
|
15
16
|
let TaskStepSpecModel = class TaskStepSpecModel extends decorator_validation_1.Model {
|
|
16
17
|
constructor(arg) {
|
|
17
18
|
super(arg);
|
|
@@ -33,6 +34,17 @@ __decorate([
|
|
|
33
34
|
(0, decoration_1.prop)(),
|
|
34
35
|
__metadata("design:type", Object)
|
|
35
36
|
], TaskStepSpecModel.prototype, "input", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, decoration_1.description)("Optional lock key. Tasks/steps sharing the same key cannot run concurrently"),
|
|
39
|
+
(0, decoration_1.prop)(),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], TaskStepSpecModel.prototype, "lock", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, decoration_1.description)("Task-step dependencies. Supports '<taskId>' or '<taskId>:<step index|step reference>'"),
|
|
44
|
+
(0, decoration_1.prop)(),
|
|
45
|
+
(0, decorator_validation_2.list)(() => String),
|
|
46
|
+
__metadata("design:type", Array)
|
|
47
|
+
], TaskStepSpecModel.prototype, "dependsOn", void 0);
|
|
36
48
|
exports.TaskStepSpecModel = TaskStepSpecModel = __decorate([
|
|
37
49
|
(0, decorator_validation_1.model)(),
|
|
38
50
|
__metadata("design:paramtypes", [Object])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskStepSpecModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskStepSpecModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAMwC;AACxC,qDAAyD;
|
|
1
|
+
{"version":3,"file":"TaskStepSpecModel.js","sourceRoot":"","sources":["../../../src/tasks/models/TaskStepSpecModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAMwC;AACxC,qDAAyD;AACzD,yEAAsD;AAG/C,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,4BAAK;IA0B1C,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AA7BY,8CAAiB;AAG5B;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,mBAAmB,CAAC;;yDACT;AAIxB;IAFC,IAAA,gCAAS,EAAC,CAAC,CAAC;IACZ,IAAA,wBAAW,EAAC,kCAAkC,CAAC;;+CAClC;AAId;IAFC,IAAA,wBAAW,EAAC,0BAA0B,CAAC;IACvC,IAAA,iBAAI,GAAE;;gDACK;AAMZ;IAJC,IAAA,wBAAW,EACV,6EAA6E,CAC9E;IACA,IAAA,iBAAI,GAAE;;+CACO;AAOd;IALC,IAAA,wBAAW,EACV,uFAAuF,CACxF;IACA,IAAA,iBAAI,GAAE;IACN,IAAA,2BAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;;oDACE;4BAxBV,iBAAiB;IAD7B,IAAA,4BAAK,GAAE;;GACK,iBAAiB,CA6B7B"}
|
package/lib/tasks/types.d.ts
CHANGED
|
@@ -8,10 +8,15 @@ import { TaskHandlerRegistry } from "./TaskHandlerRegistry";
|
|
|
8
8
|
import { TaskEventModel } from "./models/TaskEventModel";
|
|
9
9
|
import { TaskStatus } from "./constants";
|
|
10
10
|
import { TaskErrorModel } from "./models/TaskErrorModel";
|
|
11
|
+
import { TaskStepSpecModel } from "./models/TaskStepSpecModel";
|
|
11
12
|
export interface ITaskHandler<I = any, O = any> {
|
|
12
13
|
type: string;
|
|
13
14
|
run(input: I, ctx: TaskContext): Promise<O>;
|
|
15
|
+
catch?(input: I, error: unknown, ctx: TaskContext): Promise<void>;
|
|
14
16
|
}
|
|
17
|
+
export type TaskDependencySpec = {
|
|
18
|
+
dependencies?: string[];
|
|
19
|
+
};
|
|
15
20
|
export type LogPipeOptions = {
|
|
16
21
|
style: boolean;
|
|
17
22
|
logProgress: boolean;
|
|
@@ -30,6 +35,7 @@ export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extend
|
|
|
30
35
|
flush: () => Promise<void>;
|
|
31
36
|
progress: (data: any) => Promise<void>;
|
|
32
37
|
heartbeat: () => Promise<void>;
|
|
38
|
+
scheduleCompositeSteps?: (steps: TaskStepSpecModel[]) => Promise<void>;
|
|
33
39
|
resultCache?: Record<string, any>;
|
|
34
40
|
}
|
|
35
41
|
export type TaskEngineConfig<A extends Adapter<any, any, any, any>> = {
|
|
@@ -50,7 +56,7 @@ export type TaskEngineConfig<A extends Adapter<any, any, any, any>> = {
|
|
|
50
56
|
autoShutdown?: TaskEngineAutoShutdownConfig;
|
|
51
57
|
};
|
|
52
58
|
export type TaskProgressPayload = {
|
|
53
|
-
status: TaskStatus;
|
|
59
|
+
status: TaskStatus | "update";
|
|
54
60
|
currentStep?: number;
|
|
55
61
|
totalSteps?: number;
|
|
56
62
|
output?: any;
|
|
@@ -4,6 +4,18 @@ exports.AbsContextual = exports.ContextualLoggedClass = void 0;
|
|
|
4
4
|
const logging_1 = require("@decaf-ts/logging");
|
|
5
5
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
6
6
|
const Context_1 = require("./../persistence/Context.cjs");
|
|
7
|
+
function isContextLike(value) {
|
|
8
|
+
if (!value || typeof value !== "object")
|
|
9
|
+
return false;
|
|
10
|
+
const v = value;
|
|
11
|
+
// Avoid `instanceof` here because multiple linked builds of `@decaf-ts/core`
|
|
12
|
+
// can lead to duplicate Context constructors and failing realm checks.
|
|
13
|
+
return (typeof v.get === "function" &&
|
|
14
|
+
typeof v.accumulate === "function" &&
|
|
15
|
+
typeof v.override === "function" &&
|
|
16
|
+
typeof v.toOverrides === "function" &&
|
|
17
|
+
v.cache !== undefined);
|
|
18
|
+
}
|
|
7
19
|
class ContextualLoggedClass extends logging_1.LoggedClass {
|
|
8
20
|
logCtx(args, operation, allowCreate = false, overrides) {
|
|
9
21
|
return ContextualLoggedClass.logCtx.call(this, operation, overrides || {}, allowCreate, ...args.filter((e) => typeof e !== "undefined"));
|
|
@@ -44,7 +56,7 @@ class ContextualLoggedClass extends logging_1.LoggedClass {
|
|
|
44
56
|
return resp;
|
|
45
57
|
};
|
|
46
58
|
let ctx = args.pop();
|
|
47
|
-
const hasContext = ctx instanceof Context_1.Context;
|
|
59
|
+
const hasContext = ctx instanceof Context_1.Context || isContextLike(ctx);
|
|
48
60
|
if (ctx && !hasContext) {
|
|
49
61
|
args.push(ctx);
|
|
50
62
|
ctx = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextualLoggedClass.js","sourceRoot":"","sources":["../../src/utils/ContextualLoggedClass.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AACjE,2DAKiC;AACjC,0DAAiD;
|
|
1
|
+
{"version":3,"file":"ContextualLoggedClass.js","sourceRoot":"","sources":["../../src/utils/ContextualLoggedClass.ts"],"names":[],"mappings":"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"}
|