@push.rocks/taskbuffer 4.2.0 → 5.0.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/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/index.d.ts +2 -2
- package/dist_ts/index.js +2 -2
- package/dist_ts/taskbuffer.classes.bufferrunner.d.ts +1 -1
- package/dist_ts/taskbuffer.classes.bufferrunner.js +1 -1
- package/dist_ts/taskbuffer.classes.cyclecounter.d.ts +1 -1
- package/dist_ts/taskbuffer.classes.cyclecounter.js +1 -1
- package/dist_ts/taskbuffer.classes.task.d.ts +12 -15
- package/dist_ts/taskbuffer.classes.task.js +2 -27
- package/dist_ts/taskbuffer.classes.taskconstraintgroup.d.ts +18 -0
- package/dist_ts/taskbuffer.classes.taskconstraintgroup.js +64 -0
- package/dist_ts/taskbuffer.classes.taskmanager.d.ts +18 -9
- package/dist_ts/taskbuffer.classes.taskmanager.js +106 -7
- package/dist_ts/taskbuffer.interfaces.d.ts +12 -0
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/package.json +3 -3
- package/readme.hints.md +32 -10
- package/readme.md +220 -61
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/index.ts +2 -2
- package/ts/taskbuffer.classes.bufferrunner.ts +1 -1
- package/ts/taskbuffer.classes.cyclecounter.ts +1 -1
- package/ts/taskbuffer.classes.task.ts +18 -54
- package/ts/taskbuffer.classes.taskconstraintgroup.ts +80 -0
- package/ts/taskbuffer.classes.taskmanager.ts +155 -33
- package/ts/taskbuffer.interfaces.ts +14 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/dist_ts/taskbuffer.classes.taskrunner.d.ts +0 -30
- package/dist_ts/taskbuffer.classes.taskrunner.js +0 -60
- package/ts/taskbuffer.classes.taskrunner.ts +0 -69
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/taskbuffer',
|
|
6
|
-
version: '
|
|
6
|
+
version: '5.0.0',
|
|
7
7
|
description: 'A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLDhJQUE4STtDQUM1SixDQUFBIn0=
|
package/dist_ts/index.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ export { Taskchain } from './taskbuffer.classes.taskchain.js';
|
|
|
4
4
|
export { Taskparallel } from './taskbuffer.classes.taskparallel.js';
|
|
5
5
|
export { TaskManager } from './taskbuffer.classes.taskmanager.js';
|
|
6
6
|
export { TaskOnce } from './taskbuffer.classes.taskonce.js';
|
|
7
|
-
export { TaskRunner } from './taskbuffer.classes.taskrunner.js';
|
|
8
7
|
export { TaskDebounced } from './taskbuffer.classes.taskdebounced.js';
|
|
8
|
+
export { TaskConstraintGroup } from './taskbuffer.classes.taskconstraintgroup.js';
|
|
9
9
|
export { TaskStep } from './taskbuffer.classes.taskstep.js';
|
|
10
10
|
export type { ITaskStep } from './taskbuffer.classes.taskstep.js';
|
|
11
|
-
export type { ITaskMetadata, ITaskExecutionReport, IScheduledTaskInfo, ITaskEvent, TTaskEventType } from './taskbuffer.interfaces.js';
|
|
11
|
+
export type { ITaskMetadata, ITaskExecutionReport, IScheduledTaskInfo, ITaskEvent, TTaskEventType, ITaskConstraintGroupOptions } from './taskbuffer.interfaces.js';
|
|
12
12
|
import * as distributedCoordination from './taskbuffer.classes.distributedcoordinator.js';
|
|
13
13
|
export { distributedCoordination };
|
package/dist_ts/index.js
CHANGED
|
@@ -3,10 +3,10 @@ export { Taskchain } from './taskbuffer.classes.taskchain.js';
|
|
|
3
3
|
export { Taskparallel } from './taskbuffer.classes.taskparallel.js';
|
|
4
4
|
export { TaskManager } from './taskbuffer.classes.taskmanager.js';
|
|
5
5
|
export { TaskOnce } from './taskbuffer.classes.taskonce.js';
|
|
6
|
-
export { TaskRunner } from './taskbuffer.classes.taskrunner.js';
|
|
7
6
|
export { TaskDebounced } from './taskbuffer.classes.taskdebounced.js';
|
|
7
|
+
export { TaskConstraintGroup } from './taskbuffer.classes.taskconstraintgroup.js';
|
|
8
8
|
// Task step system
|
|
9
9
|
export { TaskStep } from './taskbuffer.classes.taskstep.js';
|
|
10
10
|
import * as distributedCoordination from './taskbuffer.classes.distributedcoordinator.js';
|
|
11
11
|
export { distributedCoordination };
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVsRixtQkFBbUI7QUFDbkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBTTVELE9BQU8sS0FBSyx1QkFBdUIsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyJ9
|
|
@@ -38,4 +38,4 @@ export class BufferRunner {
|
|
|
38
38
|
this.task.running = false;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmJ1ZmZlcnJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy5idWZmZXJydW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFZLE9BQTRCO1FBSHhDLHdCQUF3QjtRQUNqQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU0sT0FBTyxDQUFDLENBQU07UUFDbkIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxhQUFhLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pHLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0NBQ0YifQ==
|
|
@@ -7,7 +7,7 @@ export interface ICycleObject {
|
|
|
7
7
|
export declare class CycleCounter {
|
|
8
8
|
task: Task;
|
|
9
9
|
cycleObjectArray: ICycleObject[];
|
|
10
|
-
constructor(taskArg: Task<any>);
|
|
10
|
+
constructor(taskArg: Task<any, any, any>);
|
|
11
11
|
getPromiseForCycle(cycleCountArg: number): Promise<unknown>;
|
|
12
12
|
informOfCycle(x: any): void;
|
|
13
13
|
informOfCycleError(err: Error): void;
|
|
@@ -41,4 +41,4 @@ export class CycleCounter {
|
|
|
41
41
|
this.cycleObjectArray = newCycleObjectArray;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmN5Y2xlY291bnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy5jeWNsZWNvdW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPcEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBWSxPQUE0QjtRQURqQyxxQkFBZ0IsR0FBbUIsRUFBRSxDQUFDO1FBRTNDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxhQUFxQjtRQUM3QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFpQjtZQUNoQyxZQUFZLEVBQUUsYUFBYTtZQUMzQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ00sYUFBYSxDQUFDLENBQU07UUFDekIsTUFBTSxtQkFBbUIsR0FBbUIsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMvQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDOUIsSUFBSSxjQUFjLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxDQUFDO0lBQ00sa0JBQWtCLENBQUMsR0FBVTtRQUNsQyxNQUFNLG1CQUFtQixHQUFtQixFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQy9DLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM5QixJQUFJLGNBQWMsQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDO0lBQzlDLENBQUM7Q0FDRiJ9
|
|
@@ -17,26 +17,26 @@ export declare class Task<T = undefined, TSteps extends ReadonlyArray<{
|
|
|
17
17
|
name: string;
|
|
18
18
|
description: string;
|
|
19
19
|
percentage: number;
|
|
20
|
-
}> = []> {
|
|
20
|
+
}> = [], TData extends Record<string, unknown> = Record<string, unknown>> {
|
|
21
21
|
static extractTask<T = undefined, TSteps extends ReadonlyArray<{
|
|
22
22
|
name: string;
|
|
23
23
|
description: string;
|
|
24
24
|
percentage: number;
|
|
25
|
-
}> = []>(preOrAfterTaskArg: Task<T, TSteps> | TPreOrAfterTaskFunction): Task<T, TSteps>;
|
|
25
|
+
}> = []>(preOrAfterTaskArg: Task<T, TSteps, any> | TPreOrAfterTaskFunction): Task<T, TSteps, any>;
|
|
26
26
|
static emptyTaskFunction: ITaskFunction;
|
|
27
|
-
static isTask: (taskArg: Task<any>) => boolean;
|
|
27
|
+
static isTask: (taskArg: Task<any, any, any>) => boolean;
|
|
28
28
|
static isTaskTouched<T = undefined, TSteps extends ReadonlyArray<{
|
|
29
29
|
name: string;
|
|
30
30
|
description: string;
|
|
31
31
|
percentage: number;
|
|
32
|
-
}> = []>(taskArg: Task<T, TSteps> | TPreOrAfterTaskFunction, touchedTasksArray: Task<T, TSteps>[]): boolean;
|
|
32
|
+
}> = []>(taskArg: Task<T, TSteps, any> | TPreOrAfterTaskFunction, touchedTasksArray: Task<T, TSteps, any>[]): boolean;
|
|
33
33
|
static runTask: <T_1, TSteps_1 extends ReadonlyArray<{
|
|
34
34
|
name: string;
|
|
35
35
|
description: string;
|
|
36
36
|
percentage: number;
|
|
37
|
-
}> = []>(taskArg: Task<T_1, TSteps_1> | TPreOrAfterTaskFunction, optionsArg: {
|
|
37
|
+
}> = []>(taskArg: Task<T_1, TSteps_1, any> | TPreOrAfterTaskFunction, optionsArg: {
|
|
38
38
|
x?: any;
|
|
39
|
-
touchedTasksArray?: Task<T_1, TSteps_1>[];
|
|
39
|
+
touchedTasksArray?: Task<T_1, TSteps_1, any>[];
|
|
40
40
|
}) => Promise<unknown>;
|
|
41
41
|
name: string;
|
|
42
42
|
version: string;
|
|
@@ -44,13 +44,10 @@ export declare class Task<T = undefined, TSteps extends ReadonlyArray<{
|
|
|
44
44
|
buffered: boolean;
|
|
45
45
|
cronJob: plugins.smarttime.CronJob;
|
|
46
46
|
bufferMax: number;
|
|
47
|
-
execDelay: number;
|
|
48
47
|
timeout: number;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
private finished;
|
|
53
|
-
private resolveFinished;
|
|
48
|
+
data: TData;
|
|
49
|
+
preTask: Task<T, any, any> | TPreOrAfterTaskFunction;
|
|
50
|
+
afterTask: Task<T, any, any> | TPreOrAfterTaskFunction;
|
|
54
51
|
running: boolean;
|
|
55
52
|
bufferRunner: BufferRunner;
|
|
56
53
|
cycleCounter: CycleCounter;
|
|
@@ -76,12 +73,12 @@ export declare class Task<T = undefined, TSteps extends ReadonlyArray<{
|
|
|
76
73
|
private providedSteps?;
|
|
77
74
|
constructor(optionsArg: {
|
|
78
75
|
taskFunction: ITaskFunction<T>;
|
|
79
|
-
preTask?: Task<T, any> | TPreOrAfterTaskFunction;
|
|
80
|
-
afterTask?: Task<T, any> | TPreOrAfterTaskFunction;
|
|
76
|
+
preTask?: Task<T, any, any> | TPreOrAfterTaskFunction;
|
|
77
|
+
afterTask?: Task<T, any, any> | TPreOrAfterTaskFunction;
|
|
81
78
|
buffered?: boolean;
|
|
82
79
|
bufferMax?: number;
|
|
83
|
-
execDelay?: number;
|
|
84
80
|
name?: string;
|
|
81
|
+
data?: TData;
|
|
85
82
|
taskSetup?: ITaskSetupFunction<T>;
|
|
86
83
|
steps?: TSteps;
|
|
87
84
|
catchErrors?: boolean;
|
|
@@ -43,16 +43,9 @@ export class Task {
|
|
|
43
43
|
static { this.runTask = async (taskArg, optionsArg) => {
|
|
44
44
|
const taskToRun = Task.extractTask(taskArg);
|
|
45
45
|
const done = plugins.smartpromise.defer();
|
|
46
|
-
// Wait for all blocking tasks to finish
|
|
47
|
-
for (const task of taskToRun.blockingTasks) {
|
|
48
|
-
await task.finished;
|
|
49
|
-
}
|
|
50
46
|
if (!taskToRun.setupValue && taskToRun.taskSetup) {
|
|
51
47
|
taskToRun.setupValue = await taskToRun.taskSetup();
|
|
52
48
|
}
|
|
53
|
-
if (taskToRun.execDelay) {
|
|
54
|
-
await plugins.smartdelay.delayFor(taskToRun.execDelay);
|
|
55
|
-
}
|
|
56
49
|
taskToRun.running = true;
|
|
57
50
|
taskToRun.runCount++;
|
|
58
51
|
taskToRun.lastRun = new Date();
|
|
@@ -66,22 +59,10 @@ export class Task {
|
|
|
66
59
|
// Complete all steps when task finishes
|
|
67
60
|
taskToRun.completeAllSteps();
|
|
68
61
|
taskToRun.emitEvent(taskToRun.lastError ? 'failed' : 'completed');
|
|
69
|
-
// When the task has finished running, resolve the finished promise
|
|
70
|
-
taskToRun.resolveFinished();
|
|
71
|
-
// Create a new finished promise for the next run
|
|
72
|
-
taskToRun.finished = new Promise((resolve) => {
|
|
73
|
-
taskToRun.resolveFinished = resolve;
|
|
74
|
-
});
|
|
75
62
|
})
|
|
76
63
|
.catch((err) => {
|
|
77
64
|
taskToRun.running = false;
|
|
78
65
|
taskToRun.emitEvent('failed', { error: err instanceof Error ? err.message : String(err) });
|
|
79
|
-
// Resolve finished so blocking dependants don't hang
|
|
80
|
-
taskToRun.resolveFinished();
|
|
81
|
-
// Create a new finished promise for the next run
|
|
82
|
-
taskToRun.finished = new Promise((resolve) => {
|
|
83
|
-
taskToRun.resolveFinished = resolve;
|
|
84
|
-
});
|
|
85
66
|
});
|
|
86
67
|
const options = {
|
|
87
68
|
...{ x: undefined, touchedTasksArray: [] },
|
|
@@ -182,8 +163,6 @@ export class Task {
|
|
|
182
163
|
});
|
|
183
164
|
}
|
|
184
165
|
constructor(optionsArg) {
|
|
185
|
-
// Add a list to store the blocking tasks
|
|
186
|
-
this.blockingTasks = [];
|
|
187
166
|
this.running = false;
|
|
188
167
|
this.bufferRunner = new BufferRunner(this);
|
|
189
168
|
this.cycleCounter = new CycleCounter(this);
|
|
@@ -201,8 +180,8 @@ export class Task {
|
|
|
201
180
|
this.afterTask = optionsArg.afterTask;
|
|
202
181
|
this.buffered = optionsArg.buffered;
|
|
203
182
|
this.bufferMax = optionsArg.bufferMax;
|
|
204
|
-
this.execDelay = optionsArg.execDelay;
|
|
205
183
|
this.name = optionsArg.name;
|
|
184
|
+
this.data = optionsArg.data ?? {};
|
|
206
185
|
this.taskSetup = optionsArg.taskSetup;
|
|
207
186
|
this.catchErrors = optionsArg.catchErrors ?? false;
|
|
208
187
|
this.labels = optionsArg.labels ? { ...optionsArg.labels } : {};
|
|
@@ -218,10 +197,6 @@ export class Task {
|
|
|
218
197
|
this.steps.set(stepConfig.name, step);
|
|
219
198
|
}
|
|
220
199
|
}
|
|
221
|
-
// Create the finished promise
|
|
222
|
-
this.finished = new Promise((resolve) => {
|
|
223
|
-
this.resolveFinished = resolve;
|
|
224
|
-
});
|
|
225
200
|
}
|
|
226
201
|
trigger(x) {
|
|
227
202
|
if (this.buffered) {
|
|
@@ -335,4 +310,4 @@ export class Task {
|
|
|
335
310
|
});
|
|
336
311
|
}
|
|
337
312
|
}
|
|
338
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUc1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFlakQsTUFBTSxPQUFPLElBQUk7SUFDUixNQUFNLENBQUMsV0FBVyxDQUN2QixpQkFBNEQ7UUFFNUQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxpQkFBaUIsWUFBWSxJQUFJO2dCQUNwQyxPQUFPLGlCQUFvQyxDQUFDO1lBQzlDLEtBQUssT0FBTyxpQkFBaUIsS0FBSyxVQUFVO2dCQUMxQyxNQUFNLFlBQVksR0FBRyxpQkFBNEMsQ0FBQztnQkFDbEUsT0FBTyxZQUFZLEVBQWdDLENBQUM7WUFDdEQ7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7YUFFYSxzQkFBaUIsR0FBa0IsVUFBVSxDQUFDO1FBQzFELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUMsQUFKOEIsQ0FJN0I7YUFFWSxXQUFNLEdBQUcsQ0FBQyxPQUFrQixFQUFXLEVBQUU7UUFDckQsSUFBSSxPQUFPLFlBQVksSUFBSSxJQUFJLE9B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
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBa0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUc1RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFlakQsTUFBTSxPQUFPLElBQUk7SUFDUixNQUFNLENBQUMsV0FBVyxDQUN2QixpQkFBaUU7UUFFakUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxpQkFBaUIsWUFBWSxJQUFJO2dCQUNwQyxPQUFPLGlCQUF5QyxDQUFDO1lBQ25ELEtBQUssT0FBTyxpQkFBaUIsS0FBSyxVQUFVO2dCQUMxQyxNQUFNLFlBQVksR0FBRyxpQkFBNEMsQ0FBQztnQkFDbEUsT0FBTyxZQUFZLEVBQXFDLENBQUM7WUFDM0Q7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7YUFFYSxzQkFBaUIsR0FBa0IsVUFBVSxDQUFDO1FBQzFELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUMsQUFKOEIsQ0FJN0I7YUFFWSxXQUFNLEdBQUcsQ0FBQyxPQUE0QixFQUFXLEVBQUU7UUFDL0QsSUFBSSxPQUFPLFlBQVksSUFBSSxJQUFJLE9BQU8sT0FBTyxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMxRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQyxBQU5tQixDQU1sQjtJQUVLLE1BQU0sQ0FBQyxhQUFhLENBQ3pCLE9BQXVELEVBQ3ZELGlCQUF5QztRQUV6QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixLQUFLLE1BQU0sTUFBTSxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdkMsSUFBSSxXQUFXLEtBQUssaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNoQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7YUFFYSxZQUFPLEdBQUcsS0FBSyxFQUMzQixPQUF1RCxFQUN2RCxVQUFtRSxFQUNuRSxFQUFFO1FBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqRCxTQUFTLENBQUMsVUFBVSxHQUFHLE1BQU0sU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JELENBQUM7UUFFRCxTQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN6QixTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckIsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBRS9CLGlFQUFpRTtRQUNqRSxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkIsU0FBUyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDaEMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNmLFNBQVMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBRTFCLHdDQUF3QztZQUN4QyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QixTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDYixTQUFTLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUMxQixTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLENBQUMsQ0FBQyxDQUFDO1FBRUwsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUU7WUFDMUMsR0FBRyxVQUFVO1NBQ2QsQ0FBQztRQUNGLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDcEIsTUFBTSxpQkFBaUIsR0FBMkIsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBRTVFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25ELGFBQWEsQ0FBQyxPQUFPO2FBQ2xCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxJQUNFLFNBQVMsQ0FBQyxPQUFPO2dCQUNqQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxFQUN6RCxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztZQUNuRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9ELENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLFNBQVMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLFNBQVMsQ0FBQyxJQUFJLElBQUksU0FBUyxhQUFhLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDcEcsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzFCLE9BQU8sU0FBUyxDQUFDO2dCQUNuQixDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1YsSUFDRSxTQUFTLENBQUMsU0FBUztnQkFDbkIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsRUFDM0QsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtvQkFDdkMsQ0FBQyxFQUFFLENBQUM7b0JBQ0osaUJBQWlCLEVBQUUsaUJBQWlCO2lCQUNyQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0wsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQztZQUNILE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFDRCxNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDLEFBcEdvQixDQW9HbkI7SUE2QkYsSUFBVyxJQUFJO1FBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRLENBQUMsR0FBVztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzVCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFjO1FBQ3pDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFvQixFQUFFLEtBQTJCO1FBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLElBQUk7WUFDSixJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBV0QsWUFBWSxVQVlYO1FBMUVNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsaUJBQVksR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxpQkFBWSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRDLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFFNUIsaUJBQWlCO1FBQ1YsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixXQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUMzQixpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFjLENBQUM7UUE2QzlFLDJCQUEyQjtRQUNuQixVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFDcEMsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQWlCL0MsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxJQUFLLEVBQVksQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVoRSwrQkFBK0I7UUFDL0IsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3RDLEtBQUssTUFBTSxVQUFVLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQztvQkFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO29CQUNyQixXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVc7b0JBQ25DLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTtpQkFDbEMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sT0FBTyxDQUFDLENBQU87UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxDQUFPO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBWSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sZUFBZSxDQUFDLENBQU87UUFDNUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaURBQWlEO0lBQzFDLFVBQVUsQ0FBQyxRQUEyQjtRQUMzQyxtQ0FBbUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3RELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzdDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkUsQ0FBQztRQUNILENBQUM7UUFFRCxpQkFBaUI7UUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBa0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLFFBQWtCLENBQUM7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBa0IsRUFBRSxDQUFDLENBQUM7WUFFekQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxvQkFBb0IsUUFBUSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdEQUFnRDtJQUN6QyxXQUFXO1FBQ2hCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZELGFBQWEsSUFBSSxVQUFVLENBQUM7UUFDOUIsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDbkQsd0RBQXdEO2dCQUN4RCx1REFBdUQ7Z0JBQ3ZELGFBQWEsSUFBSSxXQUFXLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUNoRCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCx5QkFBeUI7SUFDbEIsZ0JBQWdCO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELG9CQUFvQjtJQUNiLFdBQVc7UUFDaEIsSUFBSSxNQUFtRCxDQUFDO1FBQ3hELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDckIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDcEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVM7WUFDNUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU07WUFDTixLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzlCLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNqQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYztZQUMxQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPO1lBQ2xDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUU7U0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRCxtQ0FBbUM7SUFDNUIsVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0RBQW9EO0lBQzVDLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDbkQsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN0RSxDQUFDO1FBQ0gsQ0FBQztRQUVELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzlCLDhFQUE4RTtnQkFDOUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Task } from './taskbuffer.classes.task.js';
|
|
2
|
+
import type { ITaskConstraintGroupOptions } from './taskbuffer.interfaces.js';
|
|
3
|
+
export declare class TaskConstraintGroup<TData extends Record<string, unknown> = Record<string, unknown>> {
|
|
4
|
+
name: string;
|
|
5
|
+
maxConcurrent: number;
|
|
6
|
+
cooldownMs: number;
|
|
7
|
+
private constraintKeyForTask;
|
|
8
|
+
private runningCounts;
|
|
9
|
+
private lastCompletionTimes;
|
|
10
|
+
constructor(options: ITaskConstraintGroupOptions<TData>);
|
|
11
|
+
getConstraintKey(task: Task<any, any, TData>): string | null;
|
|
12
|
+
canRun(subGroupKey: string): boolean;
|
|
13
|
+
acquireSlot(subGroupKey: string): void;
|
|
14
|
+
releaseSlot(subGroupKey: string): void;
|
|
15
|
+
getCooldownRemaining(subGroupKey: string): number;
|
|
16
|
+
getRunningCount(subGroupKey: string): number;
|
|
17
|
+
reset(): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export class TaskConstraintGroup {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
this.runningCounts = new Map();
|
|
4
|
+
this.lastCompletionTimes = new Map();
|
|
5
|
+
this.name = options.name;
|
|
6
|
+
this.constraintKeyForTask = options.constraintKeyForTask;
|
|
7
|
+
this.maxConcurrent = options.maxConcurrent ?? Infinity;
|
|
8
|
+
this.cooldownMs = options.cooldownMs ?? 0;
|
|
9
|
+
}
|
|
10
|
+
getConstraintKey(task) {
|
|
11
|
+
const key = this.constraintKeyForTask(task);
|
|
12
|
+
return key ?? null;
|
|
13
|
+
}
|
|
14
|
+
canRun(subGroupKey) {
|
|
15
|
+
const running = this.runningCounts.get(subGroupKey) ?? 0;
|
|
16
|
+
if (running >= this.maxConcurrent) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (this.cooldownMs > 0) {
|
|
20
|
+
const lastCompletion = this.lastCompletionTimes.get(subGroupKey);
|
|
21
|
+
if (lastCompletion !== undefined) {
|
|
22
|
+
const elapsed = Date.now() - lastCompletion;
|
|
23
|
+
if (elapsed < this.cooldownMs) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
acquireSlot(subGroupKey) {
|
|
31
|
+
const current = this.runningCounts.get(subGroupKey) ?? 0;
|
|
32
|
+
this.runningCounts.set(subGroupKey, current + 1);
|
|
33
|
+
}
|
|
34
|
+
releaseSlot(subGroupKey) {
|
|
35
|
+
const current = this.runningCounts.get(subGroupKey) ?? 0;
|
|
36
|
+
const next = Math.max(0, current - 1);
|
|
37
|
+
if (next === 0) {
|
|
38
|
+
this.runningCounts.delete(subGroupKey);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.runningCounts.set(subGroupKey, next);
|
|
42
|
+
}
|
|
43
|
+
this.lastCompletionTimes.set(subGroupKey, Date.now());
|
|
44
|
+
}
|
|
45
|
+
getCooldownRemaining(subGroupKey) {
|
|
46
|
+
if (this.cooldownMs <= 0) {
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
const lastCompletion = this.lastCompletionTimes.get(subGroupKey);
|
|
50
|
+
if (lastCompletion === undefined) {
|
|
51
|
+
return 0;
|
|
52
|
+
}
|
|
53
|
+
const elapsed = Date.now() - lastCompletion;
|
|
54
|
+
return Math.max(0, this.cooldownMs - elapsed);
|
|
55
|
+
}
|
|
56
|
+
getRunningCount(subGroupKey) {
|
|
57
|
+
return this.runningCounts.get(subGroupKey) ?? 0;
|
|
58
|
+
}
|
|
59
|
+
reset() {
|
|
60
|
+
this.runningCounts.clear();
|
|
61
|
+
this.lastCompletionTimes.clear();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjb25zdHJhaW50Z3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFza2NvbnN0cmFpbnRncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQVksT0FBMkM7UUFIL0Msa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUMxQyx3QkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUd0RCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksUUFBUSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLElBQTJCO1FBQ2pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFtQjtRQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pFLElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsY0FBYyxDQUFDO2dCQUM1QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQzlCLE9BQU8sS0FBSyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxXQUFtQjtRQUNwQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFdBQW1CO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLG9CQUFvQixDQUFDLFdBQW1CO1FBQzdDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxlQUFlLENBQUMsV0FBbUI7UUFDeEMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as plugins from './taskbuffer.plugins.js';
|
|
2
2
|
import { Task } from './taskbuffer.classes.task.js';
|
|
3
|
+
import { TaskConstraintGroup } from './taskbuffer.classes.taskconstraintgroup.js';
|
|
3
4
|
import { AbstractDistributedCoordinator } from './taskbuffer.classes.distributedcoordinator.js';
|
|
4
5
|
import type { ITaskMetadata, ITaskExecutionReport, IScheduledTaskInfo, ITaskEvent } from './taskbuffer.interfaces.js';
|
|
5
6
|
export interface ICronJob {
|
|
@@ -12,24 +13,32 @@ export interface ITaskManagerConstructorOptions {
|
|
|
12
13
|
}
|
|
13
14
|
export declare class TaskManager {
|
|
14
15
|
randomId: string;
|
|
15
|
-
taskMap: plugins.lik.ObjectMap<Task<any, any>>;
|
|
16
|
+
taskMap: plugins.lik.ObjectMap<Task<any, any, any>>;
|
|
16
17
|
readonly taskSubject: plugins.smartrx.rxjs.Subject<ITaskEvent>;
|
|
17
18
|
private taskSubscriptions;
|
|
18
19
|
private cronJobManager;
|
|
19
20
|
options: ITaskManagerConstructorOptions;
|
|
21
|
+
constraintGroups: TaskConstraintGroup<any>[];
|
|
22
|
+
private constraintQueue;
|
|
23
|
+
private drainTimer;
|
|
20
24
|
constructor(options?: ITaskManagerConstructorOptions);
|
|
21
|
-
getTaskByName(taskName: string): Task<any, any>;
|
|
22
|
-
addTask(task: Task<any, any>): void;
|
|
23
|
-
removeTask(task: Task<any, any>): void;
|
|
24
|
-
addAndScheduleTask(task: Task<any, any>, cronString: string): void;
|
|
25
|
+
getTaskByName(taskName: string): Task<any, any, any>;
|
|
26
|
+
addTask(task: Task<any, any, any>): void;
|
|
27
|
+
removeTask(task: Task<any, any, any>): void;
|
|
28
|
+
addAndScheduleTask(task: Task<any, any, any>, cronString: string): void;
|
|
29
|
+
addConstraintGroup(group: TaskConstraintGroup<any>): void;
|
|
30
|
+
removeConstraintGroup(name: string): void;
|
|
31
|
+
triggerTaskConstrained(task: Task<any, any, any>, input?: any): Promise<any>;
|
|
32
|
+
private executeWithConstraintTracking;
|
|
33
|
+
private drainConstraintQueue;
|
|
25
34
|
triggerTaskByName(taskName: string): Promise<any>;
|
|
26
|
-
triggerTask(task: Task<any, any>): Promise<any>;
|
|
35
|
+
triggerTask(task: Task<any, any, any>): Promise<any>;
|
|
27
36
|
scheduleTaskByName(taskName: string, cronString: string): void;
|
|
28
37
|
private handleTaskScheduling;
|
|
29
38
|
private logTaskState;
|
|
30
39
|
private performDistributedConsultation;
|
|
31
40
|
descheduleTaskByName(taskName: string): void;
|
|
32
|
-
descheduleTask(task: Task<any, any>): Promise<void>;
|
|
41
|
+
descheduleTask(task: Task<any, any, any>): Promise<void>;
|
|
33
42
|
getScheduleForTaskName(taskName: string): string | null;
|
|
34
43
|
start(): Promise<void>;
|
|
35
44
|
stop(): Promise<void>;
|
|
@@ -41,13 +50,13 @@ export declare class TaskManager {
|
|
|
41
50
|
nextRun: Date;
|
|
42
51
|
schedule: string;
|
|
43
52
|
}>;
|
|
44
|
-
getTasksByLabel(key: string, value: string): Task<any, any>[];
|
|
53
|
+
getTasksByLabel(key: string, value: string): Task<any, any, any>[];
|
|
45
54
|
getTasksMetadataByLabel(key: string, value: string): ITaskMetadata[];
|
|
46
55
|
addExecuteRemoveTask<T, TSteps extends ReadonlyArray<{
|
|
47
56
|
name: string;
|
|
48
57
|
description: string;
|
|
49
58
|
percentage: number;
|
|
50
|
-
}>>(task: Task<T, TSteps>, options?: {
|
|
59
|
+
}>>(task: Task<T, TSteps, any>, options?: {
|
|
51
60
|
schedule?: string;
|
|
52
61
|
trackProgress?: boolean;
|
|
53
62
|
}): Promise<ITaskExecutionReport>;
|