@push.rocks/taskbuffer 3.1.8 → 3.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +18 -8
- package/dist_bundle/bundle.js.map +2 -2
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/taskbuffer.classes.bufferrunner.js +1 -1
- package/dist_ts/taskbuffer.classes.task.js +9 -4
- package/dist_ts/taskbuffer.classes.taskchain.js +1 -1
- package/dist_ts/taskbuffer.classes.taskdebounced.js +1 -1
- package/dist_ts/taskbuffer.classes.taskmanager.js +2 -2
- package/dist_ts/taskbuffer.classes.taskrunner.js +1 -1
- package/dist_ts/taskbuffer.plugins.d.ts +1 -1
- package/dist_ts/taskbuffer.plugins.js +2 -2
- package/npmextra.json +1 -1
- package/package.json +3 -3
- package/readme.md +91 -77
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/taskbuffer.classes.bufferrunner.ts +2 -3
- package/ts/taskbuffer.classes.distributedcoordinator.ts +2 -2
- package/ts/taskbuffer.classes.task.ts +15 -6
- package/ts/taskbuffer.classes.taskchain.ts +6 -2
- package/ts/taskbuffer.classes.taskdebounced.ts +3 -1
- package/ts/taskbuffer.classes.taskmanager.ts +13 -4
- package/ts/taskbuffer.classes.taskrunner.ts +2 -1
- package/ts/taskbuffer.plugins.ts +9 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/taskbuffer',
|
|
6
|
-
version: '3.1.
|
|
6
|
+
version: '3.1.9',
|
|
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=
|
|
@@ -25,4 +25,4 @@ export class BufferRunner {
|
|
|
25
25
|
this.task.running = false;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmJ1ZmZlcnJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy5idWZmZXJydW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBELE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQVksT0FBa0I7UUFIOUIsd0JBQXdCO1FBQ2pCLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBRy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxPQUFPLENBQUMsQ0FBTTtRQUNuQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFNO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztDQUNGIn0=
|
|
@@ -72,7 +72,8 @@ export class Task {
|
|
|
72
72
|
const localDeferred = plugins.smartpromise.defer();
|
|
73
73
|
localDeferred.promise
|
|
74
74
|
.then(() => {
|
|
75
|
-
if (taskToRun.preTask &&
|
|
75
|
+
if (taskToRun.preTask &&
|
|
76
|
+
!Task.isTaskTouched(taskToRun.preTask, touchedTasksArray)) {
|
|
76
77
|
return Task.runTask(taskToRun.preTask, { x, touchedTasksArray });
|
|
77
78
|
}
|
|
78
79
|
else {
|
|
@@ -90,8 +91,12 @@ export class Task {
|
|
|
90
91
|
}
|
|
91
92
|
})
|
|
92
93
|
.then((x) => {
|
|
93
|
-
if (taskToRun.afterTask &&
|
|
94
|
-
|
|
94
|
+
if (taskToRun.afterTask &&
|
|
95
|
+
!Task.isTaskTouched(taskToRun.afterTask, touchedTasksArray)) {
|
|
96
|
+
return Task.runTask(taskToRun.afterTask, {
|
|
97
|
+
x: x,
|
|
98
|
+
touchedTasksArray: touchedTasksArray,
|
|
99
|
+
});
|
|
95
100
|
}
|
|
96
101
|
else {
|
|
97
102
|
const done2 = plugins.smartpromise.defer();
|
|
@@ -145,4 +150,4 @@ export class Task {
|
|
|
145
150
|
return this.bufferRunner.trigger(x);
|
|
146
151
|
}
|
|
147
152
|
}
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBWWpELE1BQU0sT0FBTyxJQUFJO0lBQ1IsTUFBTSxDQUFDLFdBQVcsQ0FDdkIsaUJBQW9EO1FBRXBELFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLENBQUMsaUJBQWlCO2dCQUNyQixPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssaUJBQWlCLFlBQVksSUFBSTtnQkFDcEMsT0FBTyxpQkFBNEIsQ0FBQztZQUN0QyxLQUFLLE9BQU8saUJBQWlCLEtBQUssVUFBVTtnQkFDMUMsTUFBTSxZQUFZLEdBQUcsaUJBQTRDLENBQUM7Z0JBQ2xFLE9BQU8sWUFBWSxFQUFFLENBQUM7WUFDeEI7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7YUFFYSxzQkFBaUIsR0FBa0IsVUFBVSxDQUFDO1FBQzFELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUMsQUFKOEIsQ0FJN0I7YUFFWSxXQUFNLEdBQUcsQ0FBQyxPQUFrQixFQUFXLEVBQUU7UUFDckQsSUFBSSxPQUFPLFlBQVksSUFBSSxJQUFJLE9BQU8sT0FBTyxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMxRSxP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
|
|
@@ -48,4 +48,4 @@ export class Taskchain extends Task {
|
|
|
48
48
|
// TODO:
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUJBQXlCO0FBQ3pCLG1CQUFtQjtBQUVuQixPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakQsTUFBTSxPQUFPLFNBQVUsU0FBUSxJQUFJO0lBRWpDLFlBQVksVUFNWDtRQUNDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRztnQkFDRCxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixHQUFHLEVBQUUsS0FBSzthQUNYO1lBQ0QsR0FBRyxVQUFVO1lBQ2IsR0FBRztnQkFDRCxZQUFZLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDdkIsc0VBQXNFO29CQUN0RSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsdUNBQXVDO29CQUNsRixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxpREFBaUQ7b0JBQ3RFLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7d0JBQzlCLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLFdBQVcsRUFBRSxDQUFDOzRCQUN2RCxPQUFPLENBQUMsR0FBRyxDQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ2hFLENBQUM7NEJBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0NBQ2hELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0NBQ3JELFdBQVcsRUFBRSxDQUFDO2dDQUNkLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDbEIsQ0FBQyxDQUFDLENBQUM7d0JBQ0wsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQ1QsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQ3ZELENBQUM7NEJBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDbEIsQ0FBQztvQkFDSCxDQUFDLENBQUM7b0JBQ0YsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ3RCLENBQUM7YUFDRjtTQUNGLENBQUM7UUFDRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFhO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxVQUFVLENBQUMsT0FBYTtRQUN0QixRQUFRO0lBQ1YsQ0FBQztJQUNELFNBQVM7UUFDUCxRQUFRO0lBQ1YsQ0FBQztDQUNGIn0=
|
|
@@ -17,4 +17,4 @@ export class TaskDebounced extends Task {
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tkZWJvdW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFza2RlYm91bmNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsTUFBTSxPQUFPLGFBQTJCLFNBQVEsSUFBSTtJQUlsRCxZQUFZLFVBSVg7UUFDQyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDckIsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFJLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBWkcsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFLLENBQUM7UUFhcEUsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVO2FBQzlCLElBQUksQ0FDSCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUN2RTthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRiJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as plugins from './taskbuffer.plugins.js';
|
|
2
2
|
import { Task } from './taskbuffer.classes.task.js';
|
|
3
|
-
import { AbstractDistributedCoordinator } from './taskbuffer.classes.distributedcoordinator.js';
|
|
3
|
+
import { AbstractDistributedCoordinator, } from './taskbuffer.classes.distributedcoordinator.js';
|
|
4
4
|
export class TaskManager {
|
|
5
5
|
constructor(options = {}) {
|
|
6
6
|
this.randomId = plugins.smartunique.shortId();
|
|
@@ -108,4 +108,4 @@ export class TaskManager {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFDTCw4QkFBOEIsR0FFL0IsTUFBTSxnREFBZ0QsQ0FBQztBQVl4RCxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUFZLFVBQTBDLEVBQUU7UUFQakQsYUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQVEsQ0FBQztRQUMzQyxtQkFBYyxHQUFHLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0RCxZQUFPLEdBQW1DO1lBQy9DLHNCQUFzQixFQUFFLElBQUk7U0FDN0IsQ0FBQztRQUdBLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxhQUFhLENBQUMsUUFBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVU7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFH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
|
|
@@ -51,4 +51,4 @@ export class TaskRunner {
|
|
|
51
51
|
this.status = 'stopped';
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFza3J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRCxNQUFNLE9BQU8sVUFBVTtJQU9yQjtRQU5PLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUM3QixXQUFNLEdBQTBCLFNBQVMsQ0FBQztRQUMxQyxpQkFBWSxHQUNqQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFRLENBQUM7UUFDN0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUc3QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxPQUFhO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksa0JBQWtCLENBQUMsbUJBQTJCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixJQUNFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7WUFDM0QsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTO1lBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDMUIsQ0FBQztZQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0IsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQzFCLENBQUM7Q0FDRiJ9
|
|
@@ -5,4 +5,4 @@ import * as smartdelay from '@push.rocks/smartdelay';
|
|
|
5
5
|
import * as smartrx from '@push.rocks/smartrx';
|
|
6
6
|
import * as smarttime from '@push.rocks/smarttime';
|
|
7
7
|
import * as smartunique from '@push.rocks/smartunique';
|
|
8
|
-
export { lik, smartlog, smartpromise, smartdelay, smartrx, smarttime, smartunique };
|
|
8
|
+
export { lik, smartlog, smartpromise, smartdelay, smartrx, smarttime, smartunique, };
|
|
@@ -5,5 +5,5 @@ import * as smartdelay from '@push.rocks/smartdelay';
|
|
|
5
5
|
import * as smartrx from '@push.rocks/smartrx';
|
|
6
6
|
import * as smarttime from '@push.rocks/smarttime';
|
|
7
7
|
import * as smartunique from '@push.rocks/smartunique';
|
|
8
|
-
export { lik, smartlog, smartpromise, smartdelay, smartrx, smarttime, smartunique };
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
export { lik, smartlog, smartpromise, smartdelay, smartrx, smarttime, smartunique, };
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssWUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLE9BQU8sTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxXQUFXLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUNMLEdBQUcsRUFDSCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFVBQVUsRUFDVixPQUFPLEVBQ1AsU0FBUyxFQUNULFdBQVcsR0FDWixDQUFDIn0=
|
package/npmextra.json
CHANGED
|
@@ -30,4 +30,4 @@
|
|
|
30
30
|
"tsdoc": {
|
|
31
31
|
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
|
32
32
|
}
|
|
33
|
-
}
|
|
33
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/taskbuffer",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.9",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"author": "Lossless GmbH",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"bugs": {
|
|
28
|
-
"url": "https://
|
|
28
|
+
"url": "https://code.foss.global/push.rocks/taskbuffer/issues"
|
|
29
29
|
},
|
|
30
|
-
"homepage": "https://code.foss.global/push.rocks/taskbuffer",
|
|
30
|
+
"homepage": "https://code.foss.global/push.rocks/taskbuffer#readme",
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@push.rocks/lik": "^6.0.5",
|
|
33
33
|
"@push.rocks/smartdelay": "^3.0.5",
|
package/readme.md
CHANGED
|
@@ -29,21 +29,27 @@ In the modern JavaScript ecosystem, managing asynchronous tasks efficiently is c
|
|
|
29
29
|
## Core Concepts 🎓
|
|
30
30
|
|
|
31
31
|
### Task
|
|
32
|
+
|
|
32
33
|
The fundamental unit of work. A task wraps an asynchronous function and provides powerful execution control.
|
|
33
34
|
|
|
34
35
|
### Taskchain
|
|
36
|
+
|
|
35
37
|
Sequential task execution - tasks run one after another, with results passed along the chain.
|
|
36
38
|
|
|
37
39
|
### Taskparallel
|
|
40
|
+
|
|
38
41
|
Parallel task execution - multiple tasks run simultaneously for maximum performance.
|
|
39
42
|
|
|
40
43
|
### TaskManager
|
|
44
|
+
|
|
41
45
|
Centralized task scheduling and management using cron expressions.
|
|
42
46
|
|
|
43
47
|
### TaskDebounced
|
|
48
|
+
|
|
44
49
|
Debounced task execution - prevents rapid repeated executions, only running after a quiet period.
|
|
45
50
|
|
|
46
51
|
### TaskOnce
|
|
52
|
+
|
|
47
53
|
Singleton task execution - ensures a task runs exactly once, perfect for initialization routines.
|
|
48
54
|
|
|
49
55
|
## Quick Start 🏁
|
|
@@ -59,7 +65,7 @@ const myTask = new Task({
|
|
|
59
65
|
taskFunction: async () => {
|
|
60
66
|
const data = await fetchData();
|
|
61
67
|
return processData(data);
|
|
62
|
-
}
|
|
68
|
+
},
|
|
63
69
|
});
|
|
64
70
|
|
|
65
71
|
// Execute the task
|
|
@@ -78,7 +84,7 @@ const apiTask = new Task({
|
|
|
78
84
|
},
|
|
79
85
|
buffered: true,
|
|
80
86
|
bufferMax: 3, // Maximum 3 concurrent executions
|
|
81
|
-
execDelay: 1000 // Wait 1 second between executions
|
|
87
|
+
execDelay: 1000, // Wait 1 second between executions
|
|
82
88
|
});
|
|
83
89
|
|
|
84
90
|
// These will be automatically throttled
|
|
@@ -99,18 +105,18 @@ const fetchTask = new Task({
|
|
|
99
105
|
taskFunction: async () => {
|
|
100
106
|
const response = await fetch('/api/data');
|
|
101
107
|
return response.json();
|
|
102
|
-
}
|
|
108
|
+
},
|
|
103
109
|
});
|
|
104
110
|
|
|
105
111
|
const transformTask = new Task({
|
|
106
112
|
name: 'TransformData',
|
|
107
113
|
taskFunction: async (data) => {
|
|
108
|
-
return data.map(item => ({
|
|
114
|
+
return data.map((item) => ({
|
|
109
115
|
...item,
|
|
110
116
|
processed: true,
|
|
111
|
-
timestamp: Date.now()
|
|
117
|
+
timestamp: Date.now(),
|
|
112
118
|
}));
|
|
113
|
-
}
|
|
119
|
+
},
|
|
114
120
|
});
|
|
115
121
|
|
|
116
122
|
const saveTask = new Task({
|
|
@@ -118,12 +124,12 @@ const saveTask = new Task({
|
|
|
118
124
|
taskFunction: async (transformedData) => {
|
|
119
125
|
await database.bulkInsert(transformedData);
|
|
120
126
|
return { saved: transformedData.length };
|
|
121
|
-
}
|
|
127
|
+
},
|
|
122
128
|
});
|
|
123
129
|
|
|
124
130
|
const workflow = new Taskchain({
|
|
125
131
|
name: 'DataPipeline',
|
|
126
|
-
taskArray: [fetchTask, transformTask, saveTask]
|
|
132
|
+
taskArray: [fetchTask, transformTask, saveTask],
|
|
127
133
|
});
|
|
128
134
|
|
|
129
135
|
// Execute the entire chain
|
|
@@ -138,18 +144,19 @@ Execute multiple independent tasks simultaneously:
|
|
|
138
144
|
```typescript
|
|
139
145
|
import { Task, Taskparallel } from '@push.rocks/taskbuffer';
|
|
140
146
|
|
|
141
|
-
const tasks = ['user', 'posts', 'comments'].map(
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
const tasks = ['user', 'posts', 'comments'].map(
|
|
148
|
+
(resource) =>
|
|
149
|
+
new Task({
|
|
150
|
+
name: `Fetch${resource}`,
|
|
151
|
+
taskFunction: async () => {
|
|
152
|
+
const data = await fetch(`/api/${resource}`);
|
|
153
|
+
return data.json();
|
|
154
|
+
},
|
|
155
|
+
}),
|
|
149
156
|
);
|
|
150
157
|
|
|
151
158
|
const parallelFetch = new Taskparallel({
|
|
152
|
-
taskArray: tasks
|
|
159
|
+
taskArray: tasks,
|
|
153
160
|
});
|
|
154
161
|
|
|
155
162
|
// All tasks execute simultaneously
|
|
@@ -168,7 +175,7 @@ const backupTask = new Task({
|
|
|
168
175
|
taskFunction: async () => {
|
|
169
176
|
await performBackup();
|
|
170
177
|
console.log(`Backup completed at ${new Date().toISOString()}`);
|
|
171
|
-
}
|
|
178
|
+
},
|
|
172
179
|
});
|
|
173
180
|
|
|
174
181
|
const manager = new TaskManager();
|
|
@@ -197,7 +204,7 @@ const saveTask = new TaskDebounced({
|
|
|
197
204
|
await saveToDatabase(content);
|
|
198
205
|
console.log('Content saved');
|
|
199
206
|
},
|
|
200
|
-
debounceTimeInMillis: 2000 // Wait 2 seconds of inactivity
|
|
207
|
+
debounceTimeInMillis: 2000, // Wait 2 seconds of inactivity
|
|
201
208
|
});
|
|
202
209
|
|
|
203
210
|
// Rapid calls will be debounced
|
|
@@ -220,7 +227,7 @@ const initTask = new TaskOnce({
|
|
|
220
227
|
await cache.initialize();
|
|
221
228
|
await loadConfiguration();
|
|
222
229
|
console.log('System initialized');
|
|
223
|
-
}
|
|
230
|
+
},
|
|
224
231
|
});
|
|
225
232
|
|
|
226
233
|
// Safe to call multiple times - only runs once
|
|
@@ -242,7 +249,7 @@ const validationTask = new Task({
|
|
|
242
249
|
throw new Error('Validation failed');
|
|
243
250
|
}
|
|
244
251
|
return data;
|
|
245
|
-
}
|
|
252
|
+
},
|
|
246
253
|
});
|
|
247
254
|
|
|
248
255
|
const mainTask = new Task({
|
|
@@ -250,8 +257,8 @@ const mainTask = new Task({
|
|
|
250
257
|
taskFunction: async (data) => {
|
|
251
258
|
return await complexProcessing(data);
|
|
252
259
|
},
|
|
253
|
-
preTask: validationTask,
|
|
254
|
-
afterTask: cleanupTask
|
|
260
|
+
preTask: validationTask, // Runs before main task
|
|
261
|
+
afterTask: cleanupTask, // Runs after main task
|
|
255
262
|
});
|
|
256
263
|
```
|
|
257
264
|
|
|
@@ -264,7 +271,7 @@ import { TaskRunner } from '@push.rocks/taskbuffer';
|
|
|
264
271
|
|
|
265
272
|
const runner = new TaskRunner({
|
|
266
273
|
name: 'WorkerNode1',
|
|
267
|
-
maxConcurrentTasks: 5
|
|
274
|
+
maxConcurrentTasks: 5,
|
|
268
275
|
});
|
|
269
276
|
|
|
270
277
|
// Register tasks this runner can handle
|
|
@@ -282,11 +289,13 @@ Fine-tune concurrent execution behavior:
|
|
|
282
289
|
```typescript
|
|
283
290
|
const task = new Task({
|
|
284
291
|
name: 'ResourceIntensive',
|
|
285
|
-
taskFunction: async () => {
|
|
292
|
+
taskFunction: async () => {
|
|
293
|
+
/* ... */
|
|
294
|
+
},
|
|
286
295
|
buffered: true,
|
|
287
|
-
bufferMax: 5,
|
|
288
|
-
execDelay: 100,
|
|
289
|
-
timeout: 30000
|
|
296
|
+
bufferMax: 5, // Max 5 concurrent
|
|
297
|
+
execDelay: 100, // 100ms between starts
|
|
298
|
+
timeout: 30000, // 30 second timeout
|
|
290
299
|
});
|
|
291
300
|
```
|
|
292
301
|
|
|
@@ -297,14 +306,18 @@ TaskBuffer automatically detects and prevents circular dependencies:
|
|
|
297
306
|
```typescript
|
|
298
307
|
const taskA = new Task({
|
|
299
308
|
name: 'TaskA',
|
|
300
|
-
taskFunction: async () => {
|
|
301
|
-
|
|
309
|
+
taskFunction: async () => {
|
|
310
|
+
/* ... */
|
|
311
|
+
},
|
|
312
|
+
preTask: taskB, // This would create a cycle
|
|
302
313
|
});
|
|
303
314
|
|
|
304
315
|
const taskB = new Task({
|
|
305
316
|
name: 'TaskB',
|
|
306
|
-
taskFunction: async () => {
|
|
307
|
-
|
|
317
|
+
taskFunction: async () => {
|
|
318
|
+
/* ... */
|
|
319
|
+
},
|
|
320
|
+
preTask: taskA, // Circular dependency detected!
|
|
308
321
|
});
|
|
309
322
|
```
|
|
310
323
|
|
|
@@ -314,20 +327,21 @@ Create tasks on-the-fly based on runtime conditions:
|
|
|
314
327
|
|
|
315
328
|
```typescript
|
|
316
329
|
const dynamicWorkflow = async (config: Config) => {
|
|
317
|
-
const tasks = config.steps.map(
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
330
|
+
const tasks = config.steps.map(
|
|
331
|
+
(step) =>
|
|
332
|
+
new Task({
|
|
333
|
+
name: step.name,
|
|
334
|
+
taskFunction: async (input) => {
|
|
335
|
+
return await processStep(step, input);
|
|
336
|
+
},
|
|
337
|
+
}),
|
|
324
338
|
);
|
|
325
|
-
|
|
339
|
+
|
|
326
340
|
const chain = new Taskchain({
|
|
327
341
|
name: 'DynamicWorkflow',
|
|
328
|
-
taskArray: tasks
|
|
342
|
+
taskArray: tasks,
|
|
329
343
|
});
|
|
330
|
-
|
|
344
|
+
|
|
331
345
|
return await chain.trigger();
|
|
332
346
|
};
|
|
333
347
|
```
|
|
@@ -336,35 +350,35 @@ const dynamicWorkflow = async (config: Config) => {
|
|
|
336
350
|
|
|
337
351
|
### Task Options
|
|
338
352
|
|
|
339
|
-
| Option
|
|
340
|
-
|
|
341
|
-
| `name`
|
|
342
|
-
| `taskFunction` | `Function` | Async function to execute
|
|
343
|
-
| `buffered`
|
|
344
|
-
| `bufferMax`
|
|
345
|
-
| `execDelay`
|
|
346
|
-
| `timeout`
|
|
347
|
-
| `preTask`
|
|
348
|
-
| `afterTask`
|
|
353
|
+
| Option | Type | Description |
|
|
354
|
+
| -------------- | ---------- | ------------------------------ |
|
|
355
|
+
| `name` | `string` | Unique identifier for the task |
|
|
356
|
+
| `taskFunction` | `Function` | Async function to execute |
|
|
357
|
+
| `buffered` | `boolean` | Enable buffer management |
|
|
358
|
+
| `bufferMax` | `number` | Maximum concurrent executions |
|
|
359
|
+
| `execDelay` | `number` | Delay between executions (ms) |
|
|
360
|
+
| `timeout` | `number` | Task timeout (ms) |
|
|
361
|
+
| `preTask` | `Task` | Task to run before |
|
|
362
|
+
| `afterTask` | `Task` | Task to run after |
|
|
349
363
|
|
|
350
364
|
### TaskManager Methods
|
|
351
365
|
|
|
352
|
-
| Method
|
|
353
|
-
|
|
354
|
-
| `addTask(task, cronExpression)` | Add and schedule a task
|
|
355
|
-
| `removeTask(taskName)`
|
|
356
|
-
| `start()`
|
|
357
|
-
| `stop()`
|
|
358
|
-
| `getStats()`
|
|
366
|
+
| Method | Description |
|
|
367
|
+
| ------------------------------- | ------------------------ |
|
|
368
|
+
| `addTask(task, cronExpression)` | Add and schedule a task |
|
|
369
|
+
| `removeTask(taskName)` | Remove a scheduled task |
|
|
370
|
+
| `start()` | Start the scheduler |
|
|
371
|
+
| `stop()` | Stop the scheduler |
|
|
372
|
+
| `getStats()` | Get execution statistics |
|
|
359
373
|
|
|
360
374
|
### Taskchain Methods
|
|
361
375
|
|
|
362
|
-
| Method
|
|
363
|
-
|
|
364
|
-
| `addTask(task)`
|
|
365
|
-
| `removeTask(taskName)`
|
|
366
|
-
| `trigger(initialValue)` | Execute the chain
|
|
367
|
-
| `reset()`
|
|
376
|
+
| Method | Description |
|
|
377
|
+
| ----------------------- | ---------------------- |
|
|
378
|
+
| `addTask(task)` | Add task to chain |
|
|
379
|
+
| `removeTask(taskName)` | Remove task from chain |
|
|
380
|
+
| `trigger(initialValue)` | Execute the chain |
|
|
381
|
+
| `reset()` | Reset chain state |
|
|
368
382
|
|
|
369
383
|
## Performance Tips 🏎️
|
|
370
384
|
|
|
@@ -385,17 +399,17 @@ const robustTask = new Task({
|
|
|
385
399
|
} catch (error) {
|
|
386
400
|
// Log error
|
|
387
401
|
console.error(`Task failed: ${error.message}`);
|
|
388
|
-
|
|
402
|
+
|
|
389
403
|
// Optionally retry
|
|
390
404
|
if (error.retryable) {
|
|
391
405
|
return await riskyOperation(input);
|
|
392
406
|
}
|
|
393
|
-
|
|
407
|
+
|
|
394
408
|
// Or return default value
|
|
395
409
|
return defaultValue;
|
|
396
410
|
}
|
|
397
411
|
},
|
|
398
|
-
timeout: 5000 // Fail if takes longer than 5 seconds
|
|
412
|
+
timeout: 5000, // Fail if takes longer than 5 seconds
|
|
399
413
|
});
|
|
400
414
|
```
|
|
401
415
|
|
|
@@ -410,8 +424,8 @@ const apiClient = new Task({
|
|
|
410
424
|
return await fetch(`https://api.example.com${endpoint}`);
|
|
411
425
|
},
|
|
412
426
|
buffered: true,
|
|
413
|
-
bufferMax: 10,
|
|
414
|
-
execDelay: 100
|
|
427
|
+
bufferMax: 10, // 10 requests
|
|
428
|
+
execDelay: 100, // Per 100ms = 100 req/s max
|
|
415
429
|
});
|
|
416
430
|
```
|
|
417
431
|
|
|
@@ -425,8 +439,8 @@ const migrationChain = new Taskchain({
|
|
|
425
439
|
schemaUpdateTask,
|
|
426
440
|
dataTransformTask,
|
|
427
441
|
validationTask,
|
|
428
|
-
cleanupTask
|
|
429
|
-
]
|
|
442
|
+
cleanupTask,
|
|
443
|
+
],
|
|
430
444
|
});
|
|
431
445
|
```
|
|
432
446
|
|
|
@@ -435,7 +449,7 @@ const migrationChain = new Taskchain({
|
|
|
435
449
|
```typescript
|
|
436
450
|
const healthMonitor = new TaskManager();
|
|
437
451
|
|
|
438
|
-
services.forEach(service => {
|
|
452
|
+
services.forEach((service) => {
|
|
439
453
|
const healthCheck = new Task({
|
|
440
454
|
name: `HealthCheck:${service.name}`,
|
|
441
455
|
taskFunction: async () => {
|
|
@@ -443,9 +457,9 @@ services.forEach(service => {
|
|
|
443
457
|
if (!healthy) {
|
|
444
458
|
await alertOps(service);
|
|
445
459
|
}
|
|
446
|
-
}
|
|
460
|
+
},
|
|
447
461
|
});
|
|
448
|
-
|
|
462
|
+
|
|
449
463
|
healthMonitor.addAndScheduleTask(healthCheck, '*/1 * * * *'); // Every minute
|
|
450
464
|
});
|
|
451
465
|
```
|
|
@@ -476,7 +490,7 @@ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) f
|
|
|
476
490
|
|
|
477
491
|
## License and Legal Information
|
|
478
492
|
|
|
479
|
-
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
|
493
|
+
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
|
480
494
|
|
|
481
495
|
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
|
|
482
496
|
|
|
@@ -491,4 +505,4 @@ Registered at District court Bremen HRB 35230 HB, Germany
|
|
|
491
505
|
|
|
492
506
|
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
|
|
493
507
|
|
|
494
|
-
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
|
508
|
+
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
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: '3.1.
|
|
6
|
+
version: '3.1.9',
|
|
7
7
|
description: 'A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.'
|
|
8
8
|
}
|
|
@@ -13,9 +13,8 @@ export class BufferRunner {
|
|
|
13
13
|
if (!(this.bufferCounter >= this.task.bufferMax)) {
|
|
14
14
|
this.bufferCounter++;
|
|
15
15
|
}
|
|
16
|
-
const returnPromise: Promise<any> =
|
|
17
|
-
this.bufferCounter
|
|
18
|
-
);
|
|
16
|
+
const returnPromise: Promise<any> =
|
|
17
|
+
this.task.cycleCounter.getPromiseForCycle(this.bufferCounter);
|
|
19
18
|
if (!this.task.running) {
|
|
20
19
|
this._run(x);
|
|
21
20
|
}
|
|
@@ -26,11 +26,11 @@ export interface IDistributedTaskRequestResult {
|
|
|
26
26
|
|
|
27
27
|
export abstract class AbstractDistributedCoordinator {
|
|
28
28
|
public abstract fireDistributedTaskRequest(
|
|
29
|
-
infoBasis: IDistributedTaskRequest
|
|
29
|
+
infoBasis: IDistributedTaskRequest,
|
|
30
30
|
): Promise<IDistributedTaskRequestResult>;
|
|
31
31
|
|
|
32
32
|
public abstract updateDistributedTaskRequest(
|
|
33
|
-
infoBasis: IDistributedTaskRequest
|
|
33
|
+
infoBasis: IDistributedTaskRequest,
|
|
34
34
|
): Promise<void>;
|
|
35
35
|
|
|
36
36
|
public abstract start(): Promise<void>;
|