@decaf-ts/core 0.10.2 → 0.12.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/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/persistence/Dispatch.d.ts +1 -0
- package/lib/esm/persistence/Dispatch.js +17 -3
- package/lib/esm/persistence/Dispatch.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/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/persistence/Dispatch.cjs +17 -3
- package/lib/persistence/Dispatch.d.ts +1 -0
- package/lib/persistence/Dispatch.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/package.json +1 -1
package/lib/esm/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export * from "./persistence";
|
|
|
22
22
|
* @const VERSION
|
|
23
23
|
* @memberOf module:core
|
|
24
24
|
*/
|
|
25
|
-
export declare const VERSION = "0.
|
|
25
|
+
export declare const VERSION = "0.11.0";
|
|
26
26
|
/**
|
|
27
27
|
* @description Stores the current package version
|
|
28
28
|
* @summary A constant representing the version of the core package
|
package/lib/esm/index.js
CHANGED
|
@@ -32,7 +32,7 @@ export * from "./persistence/index.js";
|
|
|
32
32
|
* @const VERSION
|
|
33
33
|
* @memberOf module:core
|
|
34
34
|
*/
|
|
35
|
-
export const VERSION = "0.
|
|
35
|
+
export const VERSION = "0.11.0";
|
|
36
36
|
/**
|
|
37
37
|
* @description Stores the current package version
|
|
38
38
|
* @summary A constant representing the version of the core package
|
|
@@ -32,6 +32,7 @@ import { ContextualArgs, ContextualizedArgs, ContextualLoggedClass, MaybeContext
|
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
34
|
export declare class Dispatch<A extends Adapter<any, any, any, any>> extends ContextualLoggedClass<ContextOf<A>> implements AdapterDispatch<A> {
|
|
35
|
+
private isSameObservedAdapter;
|
|
35
36
|
/**
|
|
36
37
|
* Indicates whether the dispatcher has already been initialized.
|
|
37
38
|
*
|
|
@@ -31,6 +31,17 @@ import { PersistenceKeys } from "./constants.js";
|
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
export class Dispatch extends ContextualLoggedClass {
|
|
34
|
+
isSameObservedAdapter(observer) {
|
|
35
|
+
if (!this.adapter)
|
|
36
|
+
return false;
|
|
37
|
+
if (this.adapter === observer)
|
|
38
|
+
return true;
|
|
39
|
+
const current = this.adapter;
|
|
40
|
+
const candidate = observer;
|
|
41
|
+
if (!(candidate instanceof Adapter))
|
|
42
|
+
return false;
|
|
43
|
+
return (current.alias === candidate.alias && current.flavour === candidate.flavour);
|
|
44
|
+
}
|
|
34
45
|
/**
|
|
35
46
|
* @description Creates a new Dispatch instance
|
|
36
47
|
* @summary Initializes a new Dispatch instance without any adapter
|
|
@@ -183,8 +194,11 @@ export class Dispatch extends ContextualLoggedClass {
|
|
|
183
194
|
observe(observer) {
|
|
184
195
|
if (!(observer instanceof Adapter))
|
|
185
196
|
throw new UnsupportedError("Only Adapters can be observed by dispatch");
|
|
186
|
-
if (this.adapter)
|
|
187
|
-
|
|
197
|
+
if (this.adapter) {
|
|
198
|
+
if (this.isSameObservedAdapter(observer))
|
|
199
|
+
return () => this.unObserve(observer);
|
|
200
|
+
throw new UnsupportedError("Dispatch is already observing another adapter");
|
|
201
|
+
}
|
|
188
202
|
this.adapter = observer;
|
|
189
203
|
this.models = Adapter.models(this.adapter.alias);
|
|
190
204
|
this.initialize().then(() => this.log.verbose(`Dispatch initialized for ${this.adapter.alias} adapter`));
|
|
@@ -197,7 +211,7 @@ export class Dispatch extends ContextualLoggedClass {
|
|
|
197
211
|
* @return {void}
|
|
198
212
|
*/
|
|
199
213
|
unObserve(observer) {
|
|
200
|
-
if (this.
|
|
214
|
+
if (!this.isSameObservedAdapter(observer))
|
|
201
215
|
throw new UnsupportedError("Only the adapter that was used to observe can be unobserved");
|
|
202
216
|
this.adapter = undefined;
|
|
203
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dispatch.js","sourceRoot":"","sources":["../../../src/persistence/Dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAoB,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,qBAAkB;AACpC,OAAO,EAAE,gBAAgB,EAAE,oBAAiB;AAG5C,OAAO,EAGL,qBAAqB,GAGtB,4CAAuC;AACxC,OAAO,EAAE,eAAe,EAAE,uBAAoB;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,OAAO,QACX,SAAQ,qBAAmC;
|
|
1
|
+
{"version":3,"file":"Dispatch.js","sourceRoot":"","sources":["../../../src/persistence/Dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export declare abstract class Service<C extends Context<ContextFlags<any>> = Con
|
|
|
10
10
|
protected observerHandler?: ObserverHandler;
|
|
11
11
|
protected constructor(name?: string | undefined);
|
|
12
12
|
for(conf: any, ...args: any[]): this;
|
|
13
|
+
override(conf: any, ...args: any[]): this;
|
|
13
14
|
/**
|
|
14
15
|
* @description Registers an observer for this repository.
|
|
15
16
|
* @summary Adds an observer that will be notified of changes to models in this repository.
|
|
@@ -42,6 +42,20 @@ export class Service extends ContextualLoggedClass {
|
|
|
42
42
|
},
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
override(conf, ...args) {
|
|
46
|
+
return new Proxy(this, {
|
|
47
|
+
get(original, prop, receiver) {
|
|
48
|
+
const orig = Reflect.get(original, prop, receiver);
|
|
49
|
+
if (typeof orig !== "object")
|
|
50
|
+
return orig;
|
|
51
|
+
if (orig instanceof Service)
|
|
52
|
+
return orig.override(conf, ...args);
|
|
53
|
+
if (orig instanceof Repository)
|
|
54
|
+
return orig.override(conf);
|
|
55
|
+
return orig;
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
45
59
|
/**
|
|
46
60
|
* @description Registers an observer for this repository.
|
|
47
61
|
* @summary Adds an observer that will be notified of changes to models in this repository.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/services/services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/services/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { DateTarget } from "@decaf-ts/decorator-validation";
|
|
|
5
5
|
import { TaskErrorModel } from "./models/TaskErrorModel";
|
|
6
6
|
import { TaskStatus } from "./constants";
|
|
7
7
|
import { TaskStateChangeRequest } from "./TaskStateChangeError";
|
|
8
|
+
import { TaskStepSpecModel } from "./models/TaskStepSpecModel";
|
|
8
9
|
export declare class TaskContext extends Context<TaskFlags> {
|
|
9
10
|
get taskId(): string;
|
|
10
11
|
get logger(): TaskLogger<any>;
|
|
@@ -22,5 +23,8 @@ export declare class TaskContext extends Context<TaskFlags> {
|
|
|
22
23
|
reschedule(when: DateTarget, reason?: string | Error | TaskErrorModel): never;
|
|
23
24
|
private toTaskError;
|
|
24
25
|
get resultCache(): Record<string, any> | undefined;
|
|
26
|
+
scheduleSteps(...steps: (TaskStepSpecModel | Partial<TaskStepSpecModel>)[]): {
|
|
27
|
+
afterCurrent: () => Promise<void>;
|
|
28
|
+
};
|
|
25
29
|
constructor(ctx?: Context<any>);
|
|
26
30
|
}
|
|
@@ -3,6 +3,8 @@ import { TaskErrorModel } from "./models/TaskErrorModel.js";
|
|
|
3
3
|
import { TaskStatus } from "./constants.js";
|
|
4
4
|
import { serializeError } from "./utils.js";
|
|
5
5
|
import { TaskStateChangeError } from "./TaskStateChangeError.js";
|
|
6
|
+
import { TaskStepSpecModel } from "./models/TaskStepSpecModel.js";
|
|
7
|
+
import { InternalError } from "@decaf-ts/db-decorators";
|
|
6
8
|
export class TaskContext extends Context {
|
|
7
9
|
get taskId() {
|
|
8
10
|
return this.get("taskId");
|
|
@@ -76,6 +78,18 @@ export class TaskContext extends Context {
|
|
|
76
78
|
get resultCache() {
|
|
77
79
|
return this.get("resultCache");
|
|
78
80
|
}
|
|
81
|
+
scheduleSteps(...steps) {
|
|
82
|
+
const normalized = (steps ?? []).map((step) => step instanceof TaskStepSpecModel ? step : new TaskStepSpecModel(step));
|
|
83
|
+
return {
|
|
84
|
+
afterCurrent: async () => {
|
|
85
|
+
const scheduler = this.getOrUndefined("scheduleCompositeSteps");
|
|
86
|
+
if (!scheduler) {
|
|
87
|
+
throw new InternalError("scheduleSteps().afterCurrent() is only available while running a composite task step");
|
|
88
|
+
}
|
|
89
|
+
await scheduler(normalized);
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
79
93
|
constructor(ctx) {
|
|
80
94
|
super(ctx);
|
|
81
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskContext.js","sourceRoot":"","sources":["../../../src/tasks/TaskContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oCAA+B;AAIjD,OAAO,EAAE,cAAc,EAAE,mCAAgC;AACzD,OAAO,EAAE,UAAU,EAAE,uBAAoB;AACzC,OAAO,EAAE,cAAc,EAAE,mBAAgB;AACzC,OAAO,EAAE,oBAAoB,EAA0B,kCAA+B;
|
|
1
|
+
{"version":3,"file":"TaskContext.js","sourceRoot":"","sources":["../../../src/tasks/TaskContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,10 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
21
21
|
import { TaskEngineConfig, TaskFlags } from "./types";
|
|
22
22
|
import { TaskTracker } from "./TaskTracker";
|
|
23
23
|
import { Lock } from "@decaf-ts/transactional-decorators";
|
|
24
|
+
type ParsedTaskDependency = {
|
|
25
|
+
taskId: string;
|
|
26
|
+
stepRef?: string;
|
|
27
|
+
};
|
|
24
28
|
export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends TaskEngineConfig<A> = TaskEngineConfig<A>> extends AbsContextual<ContextOf<A>> {
|
|
25
29
|
protected config: C;
|
|
26
30
|
private _tasks?;
|
|
@@ -67,6 +71,14 @@ export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends
|
|
|
67
71
|
protected loop(...args: ContextualArgs<any>): Promise<void>;
|
|
68
72
|
protected claimBatch(ctx: Context<any>): Promise<TaskModel[]>;
|
|
69
73
|
protected tryClaim(task: TaskModel, ctx: Context): Promise<TaskModel | null>;
|
|
74
|
+
protected isTaskFinished(status?: TaskStatus): boolean;
|
|
75
|
+
protected parseTaskDependency(value: string): ParsedTaskDependency | undefined;
|
|
76
|
+
protected normalizeDependencies(deps: string[] | string | undefined): ParsedTaskDependency[];
|
|
77
|
+
protected resolveDependencyStepIndex(task: TaskModel, stepRef: string): number | undefined;
|
|
78
|
+
protected areDependenciesSatisfied(dependencies: ParsedTaskDependency[], ctx: Context): Promise<boolean>;
|
|
79
|
+
protected getStepLock(task: TaskModel, stepIndex: number | undefined): string | undefined;
|
|
80
|
+
protected hasLockConflict(task: TaskModel, stepIndex: number | undefined, ctx: Context): Promise<boolean>;
|
|
81
|
+
protected isRunnable(task: TaskModel, ctx: Context): Promise<boolean>;
|
|
70
82
|
protected executeClaimed(task: TaskModel): Promise<void>;
|
|
71
83
|
protected handleTaskStateChange(request: TaskStateChangeRequest, task: TaskModel, ctx: TaskContext): Promise<void>;
|
|
72
84
|
protected runComposite(task: TaskModel, context: TaskContext): Promise<any>;
|
|
@@ -82,3 +94,4 @@ export declare class TaskEngine<A extends Adapter<any, any, any, any>, C extends
|
|
|
82
94
|
toString(): string;
|
|
83
95
|
context(operation: ((...args: any[]) => any) | OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE | string, overrides: Partial<FlagsOf<ContextOf<A>>>, ...args: any[]): Promise<ContextOf<A>>;
|
|
84
96
|
}
|
|
97
|
+
export {};
|
|
@@ -282,6 +282,9 @@ export class TaskEngine extends AbsContextual {
|
|
|
282
282
|
catch {
|
|
283
283
|
// fallback to candidate payload
|
|
284
284
|
}
|
|
285
|
+
const runnable = await this.isRunnable(source, ctx);
|
|
286
|
+
if (!runnable)
|
|
287
|
+
return null;
|
|
285
288
|
const claimed = new TaskModel({
|
|
286
289
|
...source,
|
|
287
290
|
status: TaskStatus.RUNNING,
|
|
@@ -299,6 +302,141 @@ export class TaskEngine extends AbsContextual {
|
|
|
299
302
|
return null;
|
|
300
303
|
}
|
|
301
304
|
}
|
|
305
|
+
isTaskFinished(status) {
|
|
306
|
+
return [
|
|
307
|
+
TaskStatus.SUCCEEDED,
|
|
308
|
+
TaskStatus.FAILED,
|
|
309
|
+
TaskStatus.CANCELED,
|
|
310
|
+
].includes(status);
|
|
311
|
+
}
|
|
312
|
+
parseTaskDependency(value) {
|
|
313
|
+
const raw = value?.trim();
|
|
314
|
+
if (!raw)
|
|
315
|
+
return undefined;
|
|
316
|
+
const sep = raw.lastIndexOf(":");
|
|
317
|
+
if (sep <= 0 || sep >= raw.length - 1)
|
|
318
|
+
return { taskId: raw };
|
|
319
|
+
const taskId = raw.slice(0, sep).trim();
|
|
320
|
+
const stepRef = raw.slice(sep + 1).trim();
|
|
321
|
+
if (!taskId || !stepRef)
|
|
322
|
+
return { taskId: raw };
|
|
323
|
+
return { taskId, stepRef };
|
|
324
|
+
}
|
|
325
|
+
normalizeDependencies(deps) {
|
|
326
|
+
if (!deps)
|
|
327
|
+
return [];
|
|
328
|
+
let payload = deps;
|
|
329
|
+
if (typeof payload === "string") {
|
|
330
|
+
try {
|
|
331
|
+
payload = JSON.parse(payload);
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
payload = [payload];
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
if (payload instanceof Set)
|
|
338
|
+
payload = Array.from(payload);
|
|
339
|
+
if (!Array.isArray(payload))
|
|
340
|
+
return [];
|
|
341
|
+
return payload
|
|
342
|
+
.filter((value) => typeof value === "string")
|
|
343
|
+
.map((value) => this.parseTaskDependency(value))
|
|
344
|
+
.filter(Boolean);
|
|
345
|
+
}
|
|
346
|
+
resolveDependencyStepIndex(task, stepRef) {
|
|
347
|
+
const trimmed = stepRef.trim();
|
|
348
|
+
if (!trimmed)
|
|
349
|
+
return undefined;
|
|
350
|
+
const numeric = Number(trimmed);
|
|
351
|
+
if (Number.isInteger(numeric) && numeric >= 0)
|
|
352
|
+
return numeric;
|
|
353
|
+
const steps = this.normalizeSteps(task.steps);
|
|
354
|
+
const index = steps.findIndex((step) => step.name === trimmed || step.classification === trimmed);
|
|
355
|
+
return index >= 0 ? index : undefined;
|
|
356
|
+
}
|
|
357
|
+
async areDependenciesSatisfied(dependencies, ctx) {
|
|
358
|
+
if (!dependencies.length)
|
|
359
|
+
return true;
|
|
360
|
+
const taskIds = Array.from(new Set(dependencies.map((dep) => dep.taskId)));
|
|
361
|
+
const dependencyTasks = new Map();
|
|
362
|
+
try {
|
|
363
|
+
const loaded = await this.tasks.readAll(taskIds, ctx);
|
|
364
|
+
for (const task of loaded) {
|
|
365
|
+
if (task?.id)
|
|
366
|
+
dependencyTasks.set(task.id, task);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
return false;
|
|
371
|
+
}
|
|
372
|
+
for (const dep of dependencies) {
|
|
373
|
+
try {
|
|
374
|
+
const depTask = dependencyTasks.get(dep.taskId);
|
|
375
|
+
if (!depTask)
|
|
376
|
+
return false;
|
|
377
|
+
if (!dep.stepRef) {
|
|
378
|
+
if (!this.isTaskFinished(depTask.status))
|
|
379
|
+
return false;
|
|
380
|
+
continue;
|
|
381
|
+
}
|
|
382
|
+
const depStep = this.resolveDependencyStepIndex(depTask, dep.stepRef);
|
|
383
|
+
if (depStep == null)
|
|
384
|
+
return false;
|
|
385
|
+
const stepResults = this.normalizeStepResults(depTask.stepResults);
|
|
386
|
+
const stepResult = stepResults[depStep];
|
|
387
|
+
if (!stepResult || !this.isTaskFinished(stepResult.status))
|
|
388
|
+
return false;
|
|
389
|
+
}
|
|
390
|
+
catch {
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
return true;
|
|
395
|
+
}
|
|
396
|
+
getStepLock(task, stepIndex) {
|
|
397
|
+
if (task.atomicity !== TaskType.COMPOSITE)
|
|
398
|
+
return undefined;
|
|
399
|
+
const steps = this.normalizeSteps(task.steps);
|
|
400
|
+
if (!steps.length)
|
|
401
|
+
return undefined;
|
|
402
|
+
const index = stepIndex == null ? 0 : stepIndex;
|
|
403
|
+
const step = steps[index];
|
|
404
|
+
return step?.lock;
|
|
405
|
+
}
|
|
406
|
+
async hasLockConflict(task, stepIndex, ctx) {
|
|
407
|
+
const candidateLocks = [
|
|
408
|
+
task.lock,
|
|
409
|
+
this.getStepLock(task, stepIndex),
|
|
410
|
+
].filter((value) => !!value && typeof value === "string");
|
|
411
|
+
if (!candidateLocks.length)
|
|
412
|
+
return false;
|
|
413
|
+
const runningTasks = await this.tasks
|
|
414
|
+
.select()
|
|
415
|
+
.where(Condition.attribute("status").eq(TaskStatus.RUNNING))
|
|
416
|
+
.execute(ctx);
|
|
417
|
+
for (const running of runningTasks) {
|
|
418
|
+
if (running.id === task.id)
|
|
419
|
+
continue;
|
|
420
|
+
const runningLocks = [
|
|
421
|
+
running.lock,
|
|
422
|
+
this.getStepLock(running, running.currentStep),
|
|
423
|
+
].filter((value) => !!value && typeof value === "string");
|
|
424
|
+
if (runningLocks.some((lock) => candidateLocks.includes(lock))) {
|
|
425
|
+
return true;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return false;
|
|
429
|
+
}
|
|
430
|
+
async isRunnable(task, ctx) {
|
|
431
|
+
const dependencies = this.normalizeDependencies(task.dependencies);
|
|
432
|
+
const dependenciesSatisfied = await this.areDependenciesSatisfied(dependencies, ctx);
|
|
433
|
+
if (!dependenciesSatisfied)
|
|
434
|
+
return false;
|
|
435
|
+
const stepIndex = task.atomicity === TaskType.COMPOSITE
|
|
436
|
+
? (task.currentStep ?? 0)
|
|
437
|
+
: undefined;
|
|
438
|
+
return !(await this.hasLockConflict(task, stepIndex, ctx));
|
|
439
|
+
}
|
|
302
440
|
// -------------------------
|
|
303
441
|
// Execution
|
|
304
442
|
// -------------------------
|
|
@@ -345,6 +483,8 @@ export class TaskEngine extends AbsContextual {
|
|
|
345
483
|
},
|
|
346
484
|
});
|
|
347
485
|
await this.emitStatus(taskCtx, task, TaskStatus.RUNNING);
|
|
486
|
+
let activeHandler;
|
|
487
|
+
let activeInput;
|
|
348
488
|
try {
|
|
349
489
|
let output;
|
|
350
490
|
if (task.atomicity === TaskType.COMPOSITE) {
|
|
@@ -363,6 +503,8 @@ export class TaskEngine extends AbsContextual {
|
|
|
363
503
|
}
|
|
364
504
|
else {
|
|
365
505
|
const handler = this.registry.get(task.classification);
|
|
506
|
+
activeHandler = handler;
|
|
507
|
+
activeInput = task.input;
|
|
366
508
|
log.debug(`handler type for ${task.id} is ${handler?.constructor?.name ?? "none"}`);
|
|
367
509
|
if (!handler)
|
|
368
510
|
throw new InternalError(`No task handler registered for type: ${task.classification}`);
|
|
@@ -403,6 +545,12 @@ export class TaskEngine extends AbsContextual {
|
|
|
403
545
|
await this.handleTaskStateChange(err.request, task, taskCtx);
|
|
404
546
|
return;
|
|
405
547
|
}
|
|
548
|
+
try {
|
|
549
|
+
await activeHandler?.catch?.(activeInput, err, taskCtx);
|
|
550
|
+
}
|
|
551
|
+
catch (catchErr) {
|
|
552
|
+
log.error("task handler catch() hook failed", catchErr);
|
|
553
|
+
}
|
|
406
554
|
log.error("task execution error", err);
|
|
407
555
|
if (task.atomicity === TaskType.COMPOSITE) {
|
|
408
556
|
const normalizedResults = this.normalizeStepResults(task.stepResults);
|
|
@@ -517,7 +665,7 @@ export class TaskEngine extends AbsContextual {
|
|
|
517
665
|
}
|
|
518
666
|
async runComposite(task, context) {
|
|
519
667
|
const { ctx } = (await this.logCtx([context], task.classification, true)).for(this.runComposite);
|
|
520
|
-
|
|
668
|
+
let steps = this.normalizeSteps(task.steps);
|
|
521
669
|
let idx = task.currentStep ?? 0;
|
|
522
670
|
const results = this.normalizeStepResults(task.stepResults);
|
|
523
671
|
const cacheResult = (key, value) => {
|
|
@@ -543,6 +691,45 @@ export class TaskEngine extends AbsContextual {
|
|
|
543
691
|
const handler = this.registry.get(step.classification);
|
|
544
692
|
if (!handler)
|
|
545
693
|
throw new Error(`No task handler registered for composite step: ${step.classification}`);
|
|
694
|
+
const dependencies = this.normalizeDependencies(step.dependsOn);
|
|
695
|
+
const dependenciesSatisfied = await this.areDependenciesSatisfied(dependencies, context);
|
|
696
|
+
if (!dependenciesSatisfied) {
|
|
697
|
+
context.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting dependencies for step ${idx} (${step.classification})`);
|
|
698
|
+
}
|
|
699
|
+
const lockConflict = await this.hasLockConflict(task, idx, context);
|
|
700
|
+
if (lockConflict) {
|
|
701
|
+
context.reschedule(new Date(Date.now() + this.config.pollMsIdle), `Waiting lock for step ${idx} (${step.classification})`);
|
|
702
|
+
}
|
|
703
|
+
task.currentStep = idx;
|
|
704
|
+
const persistedCurrent = await this.tasks.update(task);
|
|
705
|
+
Object.assign(task, persistedCurrent);
|
|
706
|
+
await context.progress({
|
|
707
|
+
currentStep: idx,
|
|
708
|
+
totalSteps: steps.length,
|
|
709
|
+
});
|
|
710
|
+
const stepIndex = idx;
|
|
711
|
+
context.cache.put("scheduleCompositeSteps", async (newSteps) => {
|
|
712
|
+
const normalizedNewSteps = this.normalizeSteps(newSteps);
|
|
713
|
+
if (!normalizedNewSteps.length)
|
|
714
|
+
return;
|
|
715
|
+
const currentSteps = this.normalizeSteps(task.steps);
|
|
716
|
+
const insertionIndex = Math.min(stepIndex + 1, currentSteps.length);
|
|
717
|
+
currentSteps.splice(insertionIndex, 0, ...normalizedNewSteps);
|
|
718
|
+
task.steps = currentSteps;
|
|
719
|
+
const persisted = await this.tasks.update(task, context);
|
|
720
|
+
Object.assign(task, persisted);
|
|
721
|
+
steps = this.normalizeSteps(task.steps);
|
|
722
|
+
const updateEvent = await this.persistEvent(context, task.id, TaskEventType.UPDATE, {
|
|
723
|
+
status: "update",
|
|
724
|
+
currentStep: stepIndex,
|
|
725
|
+
totalSteps: steps.length,
|
|
726
|
+
output: {
|
|
727
|
+
added: normalizedNewSteps.length,
|
|
728
|
+
insertionIndex,
|
|
729
|
+
},
|
|
730
|
+
});
|
|
731
|
+
this.bus.emit(updateEvent, context);
|
|
732
|
+
});
|
|
546
733
|
await context.pipe([
|
|
547
734
|
LogLevel.info,
|
|
548
735
|
`Composite step ${idx + 1}/${steps.length}: ${step.classification}`,
|
|
@@ -551,7 +738,6 @@ export class TaskEngine extends AbsContextual {
|
|
|
551
738
|
const out = await handler.run(step.input, context);
|
|
552
739
|
// Ensure step-tagged logs are flushed before advancing the step pointer.
|
|
553
740
|
await context.flush();
|
|
554
|
-
const stepIndex = idx;
|
|
555
741
|
const now = new Date();
|
|
556
742
|
results[stepIndex] = new TaskStepResultModel({
|
|
557
743
|
status: TaskStatus.SUCCEEDED,
|
|
@@ -574,6 +760,14 @@ export class TaskEngine extends AbsContextual {
|
|
|
574
760
|
});
|
|
575
761
|
}
|
|
576
762
|
catch (err) {
|
|
763
|
+
try {
|
|
764
|
+
await handler.catch?.(step.input, err, context);
|
|
765
|
+
}
|
|
766
|
+
catch (catchErr) {
|
|
767
|
+
ctx.logger.warn("composite step catch() hook failed", {
|
|
768
|
+
error: catchErr,
|
|
769
|
+
});
|
|
770
|
+
}
|
|
577
771
|
const now = new Date();
|
|
578
772
|
results[idx] = new TaskStepResultModel({
|
|
579
773
|
status: TaskStatus.FAILED,
|