@push.rocks/taskbuffer 4.1.0 → 4.2.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_web/00_commitinfo_data.js +2 -2
- package/dist_ts_web/{ts_web/elements → elements}/taskbuffer-dashboard.demo.js +1 -1
- package/dist_ts_web/{ts_web/index.d.ts → index.d.ts} +1 -1
- package/dist_ts_web/{ts_web/taskbuffer-dashboard.d.ts → taskbuffer-dashboard.d.ts} +6 -6
- package/dist_ts_web/{ts_web/taskbuffer-dashboard.js → taskbuffer-dashboard.js} +23 -16
- package/package.json +8 -8
- package/readme.hints.md +28 -1
- package/readme.md +538 -408
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/taskbuffer-dashboard.ts +5 -5
- package/dist_ts_web/ts/index.d.ts +0 -13
- package/dist_ts_web/ts/index.js +0 -12
- package/dist_ts_web/ts/taskbuffer.classes.bufferrunner.d.ts +0 -8
- package/dist_ts_web/ts/taskbuffer.classes.bufferrunner.js +0 -41
- package/dist_ts_web/ts/taskbuffer.classes.cyclecounter.d.ts +0 -14
- package/dist_ts_web/ts/taskbuffer.classes.cyclecounter.js +0 -44
- package/dist_ts_web/ts/taskbuffer.classes.distributedcoordinator.d.ts +0 -27
- package/dist_ts_web/ts/taskbuffer.classes.distributedcoordinator.js +0 -5
- package/dist_ts_web/ts/taskbuffer.classes.task.d.ts +0 -99
- package/dist_ts_web/ts/taskbuffer.classes.task.js +0 -338
- package/dist_ts_web/ts/taskbuffer.classes.taskchain.d.ts +0 -14
- package/dist_ts_web/ts/taskbuffer.classes.taskchain.js +0 -60
- package/dist_ts_web/ts/taskbuffer.classes.taskdebounced.d.ts +0 -10
- package/dist_ts_web/ts/taskbuffer.classes.taskdebounced.js +0 -31
- package/dist_ts_web/ts/taskbuffer.classes.taskmanager.d.ts +0 -54
- package/dist_ts_web/ts/taskbuffer.classes.taskmanager.js +0 -238
- package/dist_ts_web/ts/taskbuffer.classes.taskonce.d.ts +0 -11
- package/dist_ts_web/ts/taskbuffer.classes.taskonce.js +0 -20
- package/dist_ts_web/ts/taskbuffer.classes.taskparallel.d.ts +0 -7
- package/dist_ts_web/ts/taskbuffer.classes.taskparallel.js +0 -25
- package/dist_ts_web/ts/taskbuffer.classes.taskrunner.d.ts +0 -30
- package/dist_ts_web/ts/taskbuffer.classes.taskrunner.js +0 -60
- package/dist_ts_web/ts/taskbuffer.classes.taskstep.d.ts +0 -27
- package/dist_ts_web/ts/taskbuffer.classes.taskstep.js +0 -37
- package/dist_ts_web/ts/taskbuffer.interfaces.d.ts +0 -47
- package/dist_ts_web/ts/taskbuffer.interfaces.js +0 -2
- package/dist_ts_web/ts/taskbuffer.logging.d.ts +0 -2
- package/dist_ts_web/ts/taskbuffer.logging.js +0 -3
- package/dist_ts_web/ts/taskbuffer.plugins.d.ts +0 -8
- package/dist_ts_web/ts/taskbuffer.plugins.js +0 -9
- package/dist_ts_web/ts_web/00_commitinfo_data.d.ts +0 -8
- package/dist_ts_web/ts_web/00_commitinfo_data.js +0 -9
- package/dist_ts_web/ts_web/demorunner.d.ts +0 -1
- package/dist_ts_web/ts_web/demorunner.js +0 -33
- /package/dist_ts_web/{ts_web/elements → elements}/taskbuffer-dashboard.demo.d.ts +0 -0
- /package/dist_ts_web/{ts_web/index.js → index.js} +0 -0
- /package/{LICENSE → license.md} +0 -0
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/taskbuffer',
|
|
6
|
-
version: '4.
|
|
6
|
+
version: '4.2.0',
|
|
7
7
|
description: 'A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.'
|
|
8
8
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/taskbuffer',
|
|
6
|
-
version: '4.
|
|
6
|
+
version: '4.2.0',
|
|
7
7
|
description: 'A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.'
|
|
8
8
|
}
|
|
@@ -8,20 +8,20 @@ import type { TaskManager, ITaskMetadata, IScheduledTaskInfo } from '../ts/index
|
|
|
8
8
|
export class TaskbufferDashboard extends DeesElement {
|
|
9
9
|
// Properties
|
|
10
10
|
@property({ type: Object })
|
|
11
|
-
|
|
11
|
+
accessor taskManager: TaskManager | null = null;
|
|
12
12
|
|
|
13
13
|
@property({ type: Number })
|
|
14
|
-
|
|
14
|
+
accessor refreshInterval: number = 1000; // milliseconds
|
|
15
15
|
|
|
16
16
|
// Internal state
|
|
17
17
|
@state()
|
|
18
|
-
|
|
18
|
+
accessor tasks: ITaskMetadata[] = [];
|
|
19
19
|
|
|
20
20
|
@state()
|
|
21
|
-
|
|
21
|
+
accessor scheduledTasks: IScheduledTaskInfo[] = [];
|
|
22
22
|
|
|
23
23
|
@state()
|
|
24
|
-
|
|
24
|
+
accessor isRunning: boolean = false;
|
|
25
25
|
|
|
26
26
|
private refreshTimer: any;
|
|
27
27
|
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export { Task } from './taskbuffer.classes.task.js';
|
|
2
|
-
export type { ITaskFunction, StepNames } from './taskbuffer.classes.task.js';
|
|
3
|
-
export { Taskchain } from './taskbuffer.classes.taskchain.js';
|
|
4
|
-
export { Taskparallel } from './taskbuffer.classes.taskparallel.js';
|
|
5
|
-
export { TaskManager } from './taskbuffer.classes.taskmanager.js';
|
|
6
|
-
export { TaskOnce } from './taskbuffer.classes.taskonce.js';
|
|
7
|
-
export { TaskRunner } from './taskbuffer.classes.taskrunner.js';
|
|
8
|
-
export { TaskDebounced } from './taskbuffer.classes.taskdebounced.js';
|
|
9
|
-
export { TaskStep } from './taskbuffer.classes.taskstep.js';
|
|
10
|
-
export type { ITaskStep } from './taskbuffer.classes.taskstep.js';
|
|
11
|
-
export type { ITaskMetadata, ITaskExecutionReport, IScheduledTaskInfo, ITaskEvent, TTaskEventType } from './taskbuffer.interfaces.js';
|
|
12
|
-
import * as distributedCoordination from './taskbuffer.classes.distributedcoordinator.js';
|
|
13
|
-
export { distributedCoordination };
|
package/dist_ts_web/ts/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export { Task } from './taskbuffer.classes.task.js';
|
|
2
|
-
export { Taskchain } from './taskbuffer.classes.taskchain.js';
|
|
3
|
-
export { Taskparallel } from './taskbuffer.classes.taskparallel.js';
|
|
4
|
-
export { TaskManager } from './taskbuffer.classes.taskmanager.js';
|
|
5
|
-
export { TaskOnce } from './taskbuffer.classes.taskonce.js';
|
|
6
|
-
export { TaskRunner } from './taskbuffer.classes.taskrunner.js';
|
|
7
|
-
export { TaskDebounced } from './taskbuffer.classes.taskdebounced.js';
|
|
8
|
-
// Task step system
|
|
9
|
-
export { TaskStep } from './taskbuffer.classes.taskstep.js';
|
|
10
|
-
import * as distributedCoordination from './taskbuffer.classes.distributedcoordinator.js';
|
|
11
|
-
export { distributedCoordination };
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsbUJBQW1CO0FBQ25CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU01RCxPQUFPLEtBQUssdUJBQXVCLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMifQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Task } from './taskbuffer.classes.task.js';
|
|
2
|
-
import { logger } from './taskbuffer.logging.js';
|
|
3
|
-
export class BufferRunner {
|
|
4
|
-
constructor(taskArg) {
|
|
5
|
-
// initialize by default
|
|
6
|
-
this.bufferCounter = 0;
|
|
7
|
-
this.task = taskArg;
|
|
8
|
-
}
|
|
9
|
-
trigger(x) {
|
|
10
|
-
if (!(this.bufferCounter >= this.task.bufferMax)) {
|
|
11
|
-
this.bufferCounter++;
|
|
12
|
-
}
|
|
13
|
-
const returnPromise = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter);
|
|
14
|
-
if (!this.task.running) {
|
|
15
|
-
this._run(x);
|
|
16
|
-
}
|
|
17
|
-
return returnPromise;
|
|
18
|
-
}
|
|
19
|
-
async _run(x) {
|
|
20
|
-
this.task.running = true;
|
|
21
|
-
while (this.bufferCounter > 0) {
|
|
22
|
-
try {
|
|
23
|
-
const result = await Task.runTask(this.task, { x: x });
|
|
24
|
-
this.bufferCounter--;
|
|
25
|
-
this.task.cycleCounter.informOfCycle(result);
|
|
26
|
-
}
|
|
27
|
-
catch (err) {
|
|
28
|
-
logger.log('error', `BufferRunner: task "${this.task.name || 'unnamed'}" failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
29
|
-
this.bufferCounter--;
|
|
30
|
-
if (this.task.catchErrors) {
|
|
31
|
-
this.task.cycleCounter.informOfCycle(undefined);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.task.cycleCounter.informOfCycleError(err instanceof Error ? err : new Error(String(err)));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
this.task.running = false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmJ1ZmZlcnJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy5idWZmZXJydW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFZLE9BQWtCO1FBSDlCLHdCQUF3QjtRQUNqQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUcvQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU0sT0FBTyxDQUFDLENBQU07UUFDbkIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQztnQkFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxhQUFhLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2xELENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pHLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0NBQ0YifQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as plugins from './taskbuffer.plugins.js';
|
|
2
|
-
import { Task } from './taskbuffer.classes.task.js';
|
|
3
|
-
export interface ICycleObject {
|
|
4
|
-
cycleCounter: number;
|
|
5
|
-
deferred: plugins.smartpromise.Deferred<any>;
|
|
6
|
-
}
|
|
7
|
-
export declare class CycleCounter {
|
|
8
|
-
task: Task;
|
|
9
|
-
cycleObjectArray: ICycleObject[];
|
|
10
|
-
constructor(taskArg: Task<any>);
|
|
11
|
-
getPromiseForCycle(cycleCountArg: number): Promise<unknown>;
|
|
12
|
-
informOfCycle(x: any): void;
|
|
13
|
-
informOfCycleError(err: Error): void;
|
|
14
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as plugins from './taskbuffer.plugins.js';
|
|
2
|
-
import { Task } from './taskbuffer.classes.task.js';
|
|
3
|
-
export class CycleCounter {
|
|
4
|
-
constructor(taskArg) {
|
|
5
|
-
this.cycleObjectArray = [];
|
|
6
|
-
this.task = taskArg;
|
|
7
|
-
}
|
|
8
|
-
getPromiseForCycle(cycleCountArg) {
|
|
9
|
-
const done = plugins.smartpromise.defer();
|
|
10
|
-
const cycleObject = {
|
|
11
|
-
cycleCounter: cycleCountArg,
|
|
12
|
-
deferred: done,
|
|
13
|
-
};
|
|
14
|
-
this.cycleObjectArray.push(cycleObject);
|
|
15
|
-
return done.promise;
|
|
16
|
-
}
|
|
17
|
-
informOfCycle(x) {
|
|
18
|
-
const newCycleObjectArray = [];
|
|
19
|
-
this.cycleObjectArray.forEach((cycleObjectArg) => {
|
|
20
|
-
cycleObjectArg.cycleCounter--;
|
|
21
|
-
if (cycleObjectArg.cycleCounter <= 0) {
|
|
22
|
-
cycleObjectArg.deferred.resolve(x);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
newCycleObjectArray.push(cycleObjectArg);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
this.cycleObjectArray = newCycleObjectArray;
|
|
29
|
-
}
|
|
30
|
-
informOfCycleError(err) {
|
|
31
|
-
const newCycleObjectArray = [];
|
|
32
|
-
this.cycleObjectArray.forEach((cycleObjectArg) => {
|
|
33
|
-
cycleObjectArg.cycleCounter--;
|
|
34
|
-
if (cycleObjectArg.cycleCounter <= 0) {
|
|
35
|
-
cycleObjectArg.deferred.reject(err);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
newCycleObjectArray.push(cycleObjectArg);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
this.cycleObjectArray = newCycleObjectArray;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmN5Y2xlY291bnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy5jeWNsZWNvdW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPcEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBWSxPQUFrQjtRQUR2QixxQkFBZ0IsR0FBbUIsRUFBRSxDQUFDO1FBRTNDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxhQUFxQjtRQUM3QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFDLE1BQU0sV0FBVyxHQUFpQjtZQUNoQyxZQUFZLEVBQUUsYUFBYTtZQUMzQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ00sYUFBYSxDQUFDLENBQU07UUFDekIsTUFBTSxtQkFBbUIsR0FBbUIsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMvQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDOUIsSUFBSSxjQUFjLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUJBQW1CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxDQUFDO0lBQ00sa0JBQWtCLENBQUMsR0FBVTtRQUNsQyxNQUFNLG1CQUFtQixHQUFtQixFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQy9DLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM5QixJQUFJLGNBQWMsQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDO0lBQzlDLENBQUM7Q0FDRiJ9
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Contains all data for the final coordinator to make an informed decision.
|
|
3
|
-
*/
|
|
4
|
-
export interface IDistributedTaskRequest {
|
|
5
|
-
submitterId: string;
|
|
6
|
-
requestResponseId: string;
|
|
7
|
-
taskName: string;
|
|
8
|
-
taskVersion: string;
|
|
9
|
-
taskExecutionTime: number;
|
|
10
|
-
taskExecutionTimeout: number;
|
|
11
|
-
taskExecutionParallel: number;
|
|
12
|
-
status: 'requesting' | 'gotRejected' | 'failed' | 'succeeded';
|
|
13
|
-
}
|
|
14
|
-
export interface IDistributedTaskRequestResult {
|
|
15
|
-
submitterId: string;
|
|
16
|
-
requestResponseId: string;
|
|
17
|
-
considered: boolean;
|
|
18
|
-
rank: number;
|
|
19
|
-
reason: string;
|
|
20
|
-
shouldTrigger: boolean;
|
|
21
|
-
}
|
|
22
|
-
export declare abstract class AbstractDistributedCoordinator {
|
|
23
|
-
abstract fireDistributedTaskRequest(infoBasis: IDistributedTaskRequest): Promise<IDistributedTaskRequestResult>;
|
|
24
|
-
abstract updateDistributedTaskRequest(infoBasis: IDistributedTaskRequest): Promise<void>;
|
|
25
|
-
abstract start(): Promise<void>;
|
|
26
|
-
abstract stop(): Promise<void>;
|
|
27
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Task } from './taskbuffer.classes.task.js';
|
|
2
|
-
import * as plugins from './taskbuffer.plugins.js';
|
|
3
|
-
export class AbstractDistributedCoordinator {
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmRpc3RyaWJ1dGVkY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy90YXNrYnVmZmVyLmNsYXNzZXMuZGlzdHJpYnV0ZWRjb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxLQUFLLE9BQU8sTUFBTSx5QkFBeUIsQ0FBQztBQXlCbkQsTUFBTSxPQUFnQiw4QkFBOEI7Q0FXbkQifQ==
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import * as plugins from './taskbuffer.plugins.js';
|
|
2
|
-
import { BufferRunner } from './taskbuffer.classes.bufferrunner.js';
|
|
3
|
-
import { CycleCounter } from './taskbuffer.classes.cyclecounter.js';
|
|
4
|
-
import { type ITaskStep } from './taskbuffer.classes.taskstep.js';
|
|
5
|
-
import type { ITaskMetadata, ITaskEvent } from './taskbuffer.interfaces.js';
|
|
6
|
-
export interface ITaskFunction<T = undefined> {
|
|
7
|
-
(x?: any, setupValue?: T): PromiseLike<any>;
|
|
8
|
-
}
|
|
9
|
-
export interface ITaskSetupFunction<T = undefined> {
|
|
10
|
-
(): Promise<T>;
|
|
11
|
-
}
|
|
12
|
-
export type TPreOrAfterTaskFunction = () => Task<any>;
|
|
13
|
-
export type StepNames<T> = T extends ReadonlyArray<{
|
|
14
|
-
name: infer N;
|
|
15
|
-
}> ? N : never;
|
|
16
|
-
export declare class Task<T = undefined, TSteps extends ReadonlyArray<{
|
|
17
|
-
name: string;
|
|
18
|
-
description: string;
|
|
19
|
-
percentage: number;
|
|
20
|
-
}> = []> {
|
|
21
|
-
static extractTask<T = undefined, TSteps extends ReadonlyArray<{
|
|
22
|
-
name: string;
|
|
23
|
-
description: string;
|
|
24
|
-
percentage: number;
|
|
25
|
-
}> = []>(preOrAfterTaskArg: Task<T, TSteps> | TPreOrAfterTaskFunction): Task<T, TSteps>;
|
|
26
|
-
static emptyTaskFunction: ITaskFunction;
|
|
27
|
-
static isTask: (taskArg: Task<any>) => boolean;
|
|
28
|
-
static isTaskTouched<T = undefined, TSteps extends ReadonlyArray<{
|
|
29
|
-
name: string;
|
|
30
|
-
description: string;
|
|
31
|
-
percentage: number;
|
|
32
|
-
}> = []>(taskArg: Task<T, TSteps> | TPreOrAfterTaskFunction, touchedTasksArray: Task<T, TSteps>[]): boolean;
|
|
33
|
-
static runTask: <T_1, TSteps_1 extends ReadonlyArray<{
|
|
34
|
-
name: string;
|
|
35
|
-
description: string;
|
|
36
|
-
percentage: number;
|
|
37
|
-
}> = []>(taskArg: Task<T_1, TSteps_1> | TPreOrAfterTaskFunction, optionsArg: {
|
|
38
|
-
x?: any;
|
|
39
|
-
touchedTasksArray?: Task<T_1, TSteps_1>[];
|
|
40
|
-
}) => Promise<unknown>;
|
|
41
|
-
name: string;
|
|
42
|
-
version: string;
|
|
43
|
-
taskFunction: ITaskFunction<T>;
|
|
44
|
-
buffered: boolean;
|
|
45
|
-
cronJob: plugins.smarttime.CronJob;
|
|
46
|
-
bufferMax: number;
|
|
47
|
-
execDelay: number;
|
|
48
|
-
timeout: number;
|
|
49
|
-
preTask: Task<T, any> | TPreOrAfterTaskFunction;
|
|
50
|
-
afterTask: Task<T, any> | TPreOrAfterTaskFunction;
|
|
51
|
-
blockingTasks: Task[];
|
|
52
|
-
private finished;
|
|
53
|
-
private resolveFinished;
|
|
54
|
-
running: boolean;
|
|
55
|
-
bufferRunner: BufferRunner;
|
|
56
|
-
cycleCounter: CycleCounter;
|
|
57
|
-
lastRun?: Date;
|
|
58
|
-
runCount: number;
|
|
59
|
-
catchErrors: boolean;
|
|
60
|
-
lastError?: Error;
|
|
61
|
-
errorCount: number;
|
|
62
|
-
labels: Record<string, string>;
|
|
63
|
-
readonly eventSubject: plugins.smartrx.rxjs.Subject<ITaskEvent>;
|
|
64
|
-
get idle(): boolean;
|
|
65
|
-
clearError(): void;
|
|
66
|
-
setLabel(key: string, value: string): void;
|
|
67
|
-
getLabel(key: string): string | undefined;
|
|
68
|
-
removeLabel(key: string): boolean;
|
|
69
|
-
hasLabel(key: string, value?: string): boolean;
|
|
70
|
-
private emitEvent;
|
|
71
|
-
taskSetup: ITaskSetupFunction<T>;
|
|
72
|
-
setupValue: T;
|
|
73
|
-
private steps;
|
|
74
|
-
private stepProgress;
|
|
75
|
-
currentStepName?: string;
|
|
76
|
-
private providedSteps?;
|
|
77
|
-
constructor(optionsArg: {
|
|
78
|
-
taskFunction: ITaskFunction<T>;
|
|
79
|
-
preTask?: Task<T, any> | TPreOrAfterTaskFunction;
|
|
80
|
-
afterTask?: Task<T, any> | TPreOrAfterTaskFunction;
|
|
81
|
-
buffered?: boolean;
|
|
82
|
-
bufferMax?: number;
|
|
83
|
-
execDelay?: number;
|
|
84
|
-
name?: string;
|
|
85
|
-
taskSetup?: ITaskSetupFunction<T>;
|
|
86
|
-
steps?: TSteps;
|
|
87
|
-
catchErrors?: boolean;
|
|
88
|
-
labels?: Record<string, string>;
|
|
89
|
-
});
|
|
90
|
-
trigger(x?: any): Promise<any>;
|
|
91
|
-
triggerUnBuffered(x?: any): Promise<any>;
|
|
92
|
-
triggerBuffered(x?: any): Promise<any>;
|
|
93
|
-
notifyStep(stepName: StepNames<TSteps>): void;
|
|
94
|
-
getProgress(): number;
|
|
95
|
-
getStepsMetadata(): ITaskStep[];
|
|
96
|
-
getMetadata(): ITaskMetadata;
|
|
97
|
-
resetSteps(): void;
|
|
98
|
-
private completeAllSteps;
|
|
99
|
-
}
|