@push.rocks/taskbuffer 3.0.10 → 3.0.12
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 +5308 -17323
- package/dist_bundle/bundle.js.map +4 -4
- package/dist_ts/00_commitinfo_data.js +3 -3
- package/dist_ts/index.js +1 -1
- package/dist_ts/taskbuffer.classes.bufferrunner.js +11 -18
- package/dist_ts/taskbuffer.classes.cyclecounter.js +2 -2
- package/dist_ts/taskbuffer.classes.distributedcoordinator.d.ts +3 -0
- package/dist_ts/taskbuffer.classes.distributedcoordinator.js +3 -3
- package/dist_ts/taskbuffer.classes.task.js +1 -1
- package/dist_ts/taskbuffer.classes.taskdebounced.d.ts +1 -1
- package/dist_ts/taskbuffer.classes.taskdebounced.js +1 -1
- package/dist_ts/taskbuffer.classes.taskmanager.js +4 -4
- package/dist_ts/taskbuffer.classes.taskonce.d.ts +1 -1
- package/dist_ts/taskbuffer.classes.taskonce.js +2 -2
- package/dist_ts/taskbuffer.classes.taskrunner.js +2 -2
- package/dist_ts/taskbuffer.plugins.d.ts +7 -7
- package/dist_ts/taskbuffer.plugins.js +8 -8
- package/npmextra.json +3 -3
- package/package.json +17 -16
- package/readme.md +14 -16
- package/ts/00_commitinfo_data.ts +2 -2
- package/ts/index.ts +2 -4
- package/ts/taskbuffer.classes.bufferrunner.ts +11 -16
- package/ts/taskbuffer.classes.distributedcoordinator.ts +10 -3
- package/ts/taskbuffer.classes.taskdebounced.ts +1 -1
- package/ts/taskbuffer.classes.taskmanager.ts +34 -30
- package/ts/taskbuffer.classes.taskonce.ts +1 -1
- package/ts/taskbuffer.plugins.ts +7 -7
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* autocreated commitinfo by @pushrocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
|
-
name: '@
|
|
6
|
-
version: '3.0.
|
|
5
|
+
name: '@push.rocks/taskbuffer',
|
|
6
|
+
version: '3.0.12',
|
|
7
7
|
description: 'flexible task management. TypeScript ready!'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLDZDQUE2QztDQUMzRCxDQUFBIn0=
|
package/dist_ts/index.js
CHANGED
|
@@ -7,4 +7,4 @@ export { TaskRunner } from './taskbuffer.classes.taskrunner.js';
|
|
|
7
7
|
export { TaskDebounced } from './taskbuffer.classes.taskdebounced.js';
|
|
8
8
|
import * as distributedCoordination from './taskbuffer.classes.distributedcoordinator.js';
|
|
9
9
|
export { distributedCoordination };
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxLQUFLLHVCQUF1QixNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxDQUFDIn0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Task } from './taskbuffer.classes.task.js';
|
|
2
2
|
export class BufferRunner {
|
|
3
3
|
constructor(taskArg) {
|
|
4
|
-
//
|
|
4
|
+
// initialize by default
|
|
5
5
|
this.bufferCounter = 0;
|
|
6
6
|
this.task = taskArg;
|
|
7
7
|
}
|
|
@@ -9,27 +9,20 @@ export class BufferRunner {
|
|
|
9
9
|
if (!(this.bufferCounter >= this.task.bufferMax)) {
|
|
10
10
|
this.bufferCounter++;
|
|
11
11
|
}
|
|
12
|
-
const returnPromise = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter
|
|
12
|
+
const returnPromise = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter);
|
|
13
13
|
if (!this.task.running) {
|
|
14
14
|
this._run(x);
|
|
15
15
|
}
|
|
16
16
|
return returnPromise;
|
|
17
17
|
}
|
|
18
|
-
_run(x) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
this.task.running = false;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
recursiveBufferRunner(x);
|
|
18
|
+
async _run(x) {
|
|
19
|
+
this.task.running = true;
|
|
20
|
+
while (this.bufferCounter > 0) {
|
|
21
|
+
const result = await Task.runTask(this.task, { x: x });
|
|
22
|
+
this.bufferCounter--;
|
|
23
|
+
this.task.cycleCounter.informOfCycle(result);
|
|
24
|
+
}
|
|
25
|
+
this.task.running = false;
|
|
33
26
|
}
|
|
34
27
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmJ1ZmZlcnJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy5idWZmZXJydW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBELE1BQU0sT0FBTyxZQUFZO0lBS3ZCLFlBQVksT0FBYTtRQUh6Qix3QkFBd0I7UUFDakIsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFHL0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxDQUFNO1FBQ25CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7UUFDRCxNQUFNLGFBQWEsR0FBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQzNFLElBQUksQ0FBQyxhQUFhLENBQ25CLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNkO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRTtZQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztDQUNGIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as plugins from './taskbuffer.plugins.js';
|
|
2
|
-
import './taskbuffer.classes.task.js';
|
|
2
|
+
import { Task } from './taskbuffer.classes.task.js';
|
|
3
3
|
export class CycleCounter {
|
|
4
4
|
constructor(taskArg) {
|
|
5
5
|
this.cycleObjectArray = [];
|
|
@@ -28,4 +28,4 @@ export class CycleCounter {
|
|
|
28
28
|
this.cycleObjectArray = newCycleObjectArray;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmN5Y2xlY291bnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy5jeWNsZWNvdW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFPcEQsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBWSxPQUFhO1FBRGxCLHFCQUFnQixHQUFtQixFQUFFLENBQUM7UUFFM0MsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNNLGtCQUFrQixDQUFDLGFBQXFCO1FBQzdDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQWlCO1lBQ2hDLFlBQVksRUFBRSxhQUFhO1lBQzNCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDTSxhQUFhLENBQUMsQ0FBTTtRQUN6QixNQUFNLG1CQUFtQixHQUFtQixFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQy9DLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM5QixJQUFJLGNBQWMsQ0FBQyxZQUFZLElBQUksQ0FBQyxFQUFFO2dCQUNwQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwQztpQkFBTTtnQkFDTCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDMUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import './taskbuffer.classes.task.js';
|
|
2
|
-
import './taskbuffer.plugins.js';
|
|
1
|
+
import { Task } from './taskbuffer.classes.task.js';
|
|
2
|
+
import * as plugins from './taskbuffer.plugins.js';
|
|
3
3
|
export class AbstractDistributedCoordinator {
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmRpc3RyaWJ1dGVkY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMuZGlzdHJpYnV0ZWRjb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxLQUFLLE9BQU8sTUFBTSx5QkFBeUIsQ0FBQztBQWdDbkQsTUFBTSxPQUFnQiw4QkFBOEI7Q0FPbkQifQ==
|
|
@@ -156,4 +156,4 @@ export class Task {
|
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBUWpELE1BQU0sT0FBTyxJQUFJO0lBQ2YsU0FBUztJQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlEO1FBQ3pFLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxDQUFDLGlCQUFpQjtnQkFDckIsT0FBTyxJQUFJLENBQUM7WUFDZCxLQUFLLGlCQUFpQixZQUFZLElBQUk7Z0JBQ3BDLE9BQU8saUJBQXlCLENBQUM7WUFDbkMsS0FBSyxPQUFPLGlCQUFpQixLQUFLLFVBQVU7Z0JBQzFDLE1BQU0sWUFBWSxHQUFHLGlCQUE0QyxDQUFDO2dCQUNsRSxPQUFPLFlBQVksRUFBRSxDQUFDO1lBQ3hCO2dCQUNFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO2FBRWEsc0JBQWlCLEdBQWtCLFVBQVUsQ0FBQztRQUMxRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDLEFBSjhCLENBSTdCO2FBRVksV0FBTSxHQUFHLENBQUMsT0FBYSxFQUFXLEVBQUU7UUFDaEQsSUFBSSxPQUFPLFlBQVksSUFBSSxJQUFJLE9BQU8sT0FBTyxDQUFDLFlBQVksS0FBSyxVQUFVLEVBQUU7WUFDekUsT0FBTyxJQUFJ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
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tkZWJvdW5jZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFza2RlYm91bmNlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsTUFBTSxPQUFPLGFBQTJCLFNBQVEsSUFBSTtJQUlsRCxZQUFZLFVBSVg7UUFDQyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDckIsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFJLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBWkcsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFLLENBQUM7UUFhcEUsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVO2FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2FBQzVFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDRiJ9
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as plugins from './taskbuffer.plugins.js';
|
|
2
|
-
import './taskbuffer.classes.task.js';
|
|
3
|
-
import './taskbuffer.classes.distributedcoordinator.js';
|
|
2
|
+
import { Task } from './taskbuffer.classes.task.js';
|
|
3
|
+
import { AbstractDistributedCoordinator } from './taskbuffer.classes.distributedcoordinator.js';
|
|
4
4
|
export class TaskManager {
|
|
5
5
|
constructor(optionosArg = {}) {
|
|
6
6
|
this.randomId = plugins.isounique.uni();
|
|
7
7
|
this.taskMap = new plugins.lik.ObjectMap();
|
|
8
8
|
this.cronJobManager = new plugins.smarttime.CronManager();
|
|
9
9
|
this.options = {
|
|
10
|
-
distributedCoordinator: null
|
|
10
|
+
distributedCoordinator: null,
|
|
11
11
|
};
|
|
12
12
|
this.options = Object.assign(this.options, optionosArg);
|
|
13
13
|
}
|
|
@@ -126,4 +126,4 @@ export class TaskManager {
|
|
|
126
126
|
this.cronJobManager.stop();
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBWWhHLE1BQU0sT0FBTyxXQUFXO0lBU3RCLFlBQVksY0FBOEMsRUFBRTtRQVJyRCxhQUFRLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuQyxZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBUSxDQUFDO1FBQzNDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRELFlBQU8sR0FBbUM7WUFDL0Msc0JBQXNCLEVBQUUsSUFBSTtTQUM3QixDQUFDO1FBR0EsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGFBQWEsQ0FBQyxXQUFtQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkMsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPLENBQUMsT0FBYTtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import './taskbuffer.plugins.js';
|
|
1
|
+
import * as plugins from './taskbuffer.plugins.js';
|
|
2
2
|
import { Task } from './taskbuffer.classes.task.js';
|
|
3
3
|
/**
|
|
4
4
|
* TaskOnce is run exactly once, no matter how often it is triggered
|
|
@@ -17,4 +17,4 @@ export class TaskOnce extends Task {
|
|
|
17
17
|
this.hasTriggered = false;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tvbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5jbGFzc2VzLnRhc2tvbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLElBQUksRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RTs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsSUFBSTtJQUVoQyxZQUFZLFVBQTBEO1FBQ3BFLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixZQUFZLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztvQkFDekIsTUFBTSxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7aUJBQ2pDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztRQVZMLGlCQUFZLEdBQVksS0FBSyxDQUFDO0lBVzlCLENBQUM7Q0FDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as plugins from './taskbuffer.plugins.js';
|
|
2
|
-
import './taskbuffer.classes.task.js';
|
|
2
|
+
import { Task } from './taskbuffer.classes.task.js';
|
|
3
3
|
export class TaskRunner {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.maxParrallelJobs = 1;
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFza3J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRCxNQUFNLE9BQU8sVUFBVTtJQU1yQjtRQUxPLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUM3QixXQUFNLEdBQTBCLFNBQVMsQ0FBQztRQUMxQyxpQkFBWSxHQUFnQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFRLENBQUM7UUFDOUUsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUc3QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxPQUFhO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksa0JBQWtCLENBQUMsbUJBQTJCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsS0FBSztRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixJQUNFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7WUFDM0QsSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTO1lBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDMUI7WUFDQSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9CLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDMUIsQ0FBQztDQUNGIn0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as isounique from '@
|
|
2
|
-
import * as lik from '@
|
|
3
|
-
import * as smartlog from '@
|
|
4
|
-
import * as smartpromise from '@
|
|
5
|
-
import * as smartdelay from '@
|
|
6
|
-
import * as smartrx from '@
|
|
7
|
-
import * as smarttime from '@
|
|
1
|
+
import * as isounique from '@push.rocks/isounique';
|
|
2
|
+
import * as lik from '@push.rocks/lik';
|
|
3
|
+
import * as smartlog from '@push.rocks/smartlog';
|
|
4
|
+
import * as smartpromise from '@push.rocks/smartpromise';
|
|
5
|
+
import * as smartdelay from '@push.rocks/smartdelay';
|
|
6
|
+
import * as smartrx from '@push.rocks/smartrx';
|
|
7
|
+
import * as smarttime from '@push.rocks/smarttime';
|
|
8
8
|
export { isounique, lik, smartlog, smartpromise, smartdelay, smartrx, smarttime };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as isounique from '@
|
|
2
|
-
import * as lik from '@
|
|
3
|
-
import * as smartlog from '@
|
|
4
|
-
import * as smartpromise from '@
|
|
5
|
-
import * as smartdelay from '@
|
|
6
|
-
import * as smartrx from '@
|
|
7
|
-
import * as smarttime from '@
|
|
1
|
+
import * as isounique from '@push.rocks/isounique';
|
|
2
|
+
import * as lik from '@push.rocks/lik';
|
|
3
|
+
import * as smartlog from '@push.rocks/smartlog';
|
|
4
|
+
import * as smartpromise from '@push.rocks/smartpromise';
|
|
5
|
+
import * as smartdelay from '@push.rocks/smartdelay';
|
|
6
|
+
import * as smartrx from '@push.rocks/smartrx';
|
|
7
|
+
import * as smarttime from '@push.rocks/smarttime';
|
|
8
8
|
export { isounique, lik, smartlog, smartpromise, smartdelay, smartrx, smarttime };
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxZQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxLQUFLLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEtBQUssT0FBTyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDIn0=
|
package/npmextra.json
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
"projectType": "npm",
|
|
9
9
|
"module": {
|
|
10
10
|
"githost": "gitlab.com",
|
|
11
|
-
"gitscope": "
|
|
11
|
+
"gitscope": "push.rocks",
|
|
12
12
|
"gitrepo": "taskbuffer",
|
|
13
|
-
"
|
|
14
|
-
"npmPackagename": "@
|
|
13
|
+
"description": "flexible task management. TypeScript ready!",
|
|
14
|
+
"npmPackagename": "@push.rocks/taskbuffer",
|
|
15
15
|
"license": "MIT"
|
|
16
16
|
}
|
|
17
17
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/taskbuffer",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.12",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "flexible task management. TypeScript ready!",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"type": "module",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "(tstest test/ --web)",
|
|
11
|
-
"build": "(tsbuild --web && tsbundle npm)"
|
|
11
|
+
"build": "(tsbuild --web && tsbundle npm)",
|
|
12
|
+
"buildDocs": "tsdoc"
|
|
12
13
|
},
|
|
13
14
|
"repository": {
|
|
14
15
|
"type": "git",
|
|
@@ -28,21 +29,21 @@
|
|
|
28
29
|
},
|
|
29
30
|
"homepage": "https://gitlab.com/pushrocks/taskbuffer#readme",
|
|
30
31
|
"dependencies": {
|
|
31
|
-
"@
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"@
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
32
|
+
"@push.rocks/isounique": "^1.0.5",
|
|
33
|
+
"@push.rocks/lik": "^6.0.3",
|
|
34
|
+
"@push.rocks/smartdelay": "^3.0.5",
|
|
35
|
+
"@push.rocks/smartlog": "^3.0.3",
|
|
36
|
+
"@push.rocks/smartpromise": "^4.0.3",
|
|
37
|
+
"@push.rocks/smartrx": "^3.0.6",
|
|
38
|
+
"@push.rocks/smarttime": "^4.0.4"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
|
-
"@gitzone/tsbuild": "^2.1.
|
|
41
|
-
"@gitzone/tsbundle": "^2.0.
|
|
42
|
-
"@gitzone/tsrun": "^1.2.
|
|
43
|
-
"@gitzone/tstest": "^1.0.
|
|
44
|
-
"@
|
|
45
|
-
"@types/node": "^
|
|
41
|
+
"@gitzone/tsbuild": "^2.1.66",
|
|
42
|
+
"@gitzone/tsbundle": "^2.0.8",
|
|
43
|
+
"@gitzone/tsrun": "^1.2.44",
|
|
44
|
+
"@gitzone/tstest": "^1.0.77",
|
|
45
|
+
"@push.rocks/tapbundle": "^5.0.12",
|
|
46
|
+
"@types/node": "^20.4.5"
|
|
46
47
|
},
|
|
47
48
|
"files": [
|
|
48
49
|
"ts/**/*",
|
|
@@ -59,4 +60,4 @@
|
|
|
59
60
|
"browserslist": [
|
|
60
61
|
"last 1 chrome versions"
|
|
61
62
|
]
|
|
62
|
-
}
|
|
63
|
+
}
|
package/readme.md
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @push.rocks/taskbuffer
|
|
2
2
|
flexible task management. TypeScript ready!
|
|
3
3
|
|
|
4
4
|
## Availabililty and Links
|
|
5
|
-
* [npmjs.org (npm package)](https://www.npmjs.com/package/@
|
|
6
|
-
* [gitlab.com (source)](https://gitlab.com/
|
|
7
|
-
* [github.com (source mirror)](https://github.com/
|
|
8
|
-
* [docs (typedoc)](https://
|
|
5
|
+
* [npmjs.org (npm package)](https://www.npmjs.com/package/@push.rocks/taskbuffer)
|
|
6
|
+
* [gitlab.com (source)](https://gitlab.com/push.rocks/taskbuffer)
|
|
7
|
+
* [github.com (source mirror)](https://github.com/push.rocks/taskbuffer)
|
|
8
|
+
* [docs (typedoc)](https://push.rocks.gitlab.io/taskbuffer/)
|
|
9
9
|
|
|
10
10
|
## Status for master
|
|
11
11
|
|
|
12
12
|
Status Category | Status Badge
|
|
13
13
|
-- | --
|
|
14
|
-
GitLab Pipelines | [](https://lossless.cloud)
|
|
15
|
+
GitLab Pipline Test Coverage | [](https://lossless.cloud)
|
|
16
|
+
npm | [](https://lossless.cloud)
|
|
17
|
+
Snyk | [](https://lossless.cloud)
|
|
18
18
|
TypeScript Support | [](https://lossless.cloud)
|
|
19
19
|
node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
|
20
20
|
Code Style | [](https://lossless.cloud)
|
|
21
|
-
PackagePhobia (total standalone install weight) | [ | [ | [](https://lossless.cloud) [](https://lossless.cloud)
|
|
21
|
+
PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
|
|
22
|
+
PackagePhobia (package size on registry) | [](https://lossless.cloud)
|
|
23
|
+
BundlePhobia (total size when bundled) | [](https://lossless.cloud)
|
|
25
24
|
|
|
26
25
|
## Usage
|
|
27
26
|
|
|
@@ -57,7 +56,6 @@ We are always happy for code contributions. If you are not the code contributing
|
|
|
57
56
|
|
|
58
57
|
For further information read the linked docs at the top of this readme.
|
|
59
58
|
|
|
60
|
-
|
|
59
|
+
## Legal
|
|
60
|
+
> MIT licensed | **©** [Task Venture Capital GmbH](https://task.vc)
|
|
61
61
|
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
|
|
62
|
-
|
|
63
|
-
[](https://maintainedby.lossless.com)
|
package/ts/00_commitinfo_data.ts
CHANGED
package/ts/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Task } from './taskbuffer.classes.task.js';
|
|
2
|
-
export type { ITaskFunction } from './taskbuffer.classes.task.js'
|
|
2
|
+
export type { ITaskFunction } from './taskbuffer.classes.task.js';
|
|
3
3
|
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';
|
|
@@ -7,6 +7,4 @@ export { TaskOnce } from './taskbuffer.classes.taskonce.js';
|
|
|
7
7
|
export { TaskRunner } from './taskbuffer.classes.taskrunner.js';
|
|
8
8
|
export { TaskDebounced } from './taskbuffer.classes.taskdebounced.js';
|
|
9
9
|
import * as distributedCoordination from './taskbuffer.classes.distributedcoordinator.js';
|
|
10
|
-
export {
|
|
11
|
-
distributedCoordination
|
|
12
|
-
}
|
|
10
|
+
export { distributedCoordination };
|
|
@@ -2,8 +2,9 @@ import { Task } from './taskbuffer.classes.task.js';
|
|
|
2
2
|
|
|
3
3
|
export class BufferRunner {
|
|
4
4
|
public task: Task;
|
|
5
|
-
//
|
|
5
|
+
// initialize by default
|
|
6
6
|
public bufferCounter: number = 0;
|
|
7
|
+
|
|
7
8
|
constructor(taskArg: Task) {
|
|
8
9
|
this.task = taskArg;
|
|
9
10
|
}
|
|
@@ -13,7 +14,7 @@ export class BufferRunner {
|
|
|
13
14
|
this.bufferCounter++;
|
|
14
15
|
}
|
|
15
16
|
const returnPromise: Promise<any> = this.task.cycleCounter.getPromiseForCycle(
|
|
16
|
-
this.bufferCounter
|
|
17
|
+
this.bufferCounter
|
|
17
18
|
);
|
|
18
19
|
if (!this.task.running) {
|
|
19
20
|
this._run(x);
|
|
@@ -21,19 +22,13 @@ export class BufferRunner {
|
|
|
21
22
|
return returnPromise;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
private _run(x: any) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
33
|
-
} else {
|
|
34
|
-
this.task.running = false;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
recursiveBufferRunner(x);
|
|
25
|
+
private async _run(x: any) {
|
|
26
|
+
this.task.running = true;
|
|
27
|
+
while (this.bufferCounter > 0) {
|
|
28
|
+
const result = await Task.runTask(this.task, { x: x });
|
|
29
|
+
this.bufferCounter--;
|
|
30
|
+
this.task.cycleCounter.informOfCycle(result);
|
|
31
|
+
}
|
|
32
|
+
this.task.running = false;
|
|
38
33
|
}
|
|
39
34
|
}
|
|
@@ -22,6 +22,9 @@ export interface IDistributedTaskRequestResult {
|
|
|
22
22
|
* this needs to correlate to the decisionInfoBasis
|
|
23
23
|
*/
|
|
24
24
|
submitterRandomId: string;
|
|
25
|
+
/**
|
|
26
|
+
* can be used while debugging
|
|
27
|
+
*/
|
|
25
28
|
considered: boolean;
|
|
26
29
|
rank: string;
|
|
27
30
|
reason: string;
|
|
@@ -29,6 +32,10 @@ export interface IDistributedTaskRequestResult {
|
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
export abstract class AbstractDistributedCoordinator {
|
|
32
|
-
public abstract fireDistributedTaskRequest(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
public abstract fireDistributedTaskRequest(
|
|
36
|
+
infoBasisArg: IDistributedTaskRequest
|
|
37
|
+
): Promise<IDistributedTaskRequestResult>;
|
|
38
|
+
public abstract updateDistributedTaskRequest(
|
|
39
|
+
infoBasisArg: IDistributedTaskRequest
|
|
40
|
+
): Promise<void>;
|
|
41
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as plugins from './taskbuffer.plugins.js';
|
|
2
2
|
|
|
3
|
-
import { Task, ITaskFunction } from './taskbuffer.classes.task.js';
|
|
3
|
+
import { Task, type ITaskFunction } from './taskbuffer.classes.task.js';
|
|
4
4
|
|
|
5
5
|
export class TaskDebounced<T = unknown> extends Task {
|
|
6
6
|
private _debouncedTaskFunction: ITaskFunction;
|
|
@@ -9,7 +9,7 @@ export interface ICronJob {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export interface ITaskManagerConstructorOptions {
|
|
12
|
-
distributedCoordinator?: AbstractDistributedCoordinator
|
|
12
|
+
distributedCoordinator?: AbstractDistributedCoordinator;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export class TaskManager {
|
|
@@ -18,7 +18,7 @@ export class TaskManager {
|
|
|
18
18
|
private cronJobManager = new plugins.smarttime.CronManager();
|
|
19
19
|
|
|
20
20
|
public options: ITaskManagerConstructorOptions = {
|
|
21
|
-
distributedCoordinator: null
|
|
21
|
+
distributedCoordinator: null,
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
constructor(optionosArg: ITaskManagerConstructorOptions = {}) {
|
|
@@ -78,36 +78,40 @@ export class TaskManager {
|
|
|
78
78
|
*/
|
|
79
79
|
public scheduleTaskByName(taskNameArg: string, cronStringArg: string) {
|
|
80
80
|
const taskToSchedule = this.getTaskByName(taskNameArg);
|
|
81
|
-
const cronJob = this.cronJobManager.addCronjob(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
`task >>${taskToSchedule.name}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
81
|
+
const cronJob = this.cronJobManager.addCronjob(
|
|
82
|
+
cronStringArg,
|
|
83
|
+
async (triggerTimeArg: number) => {
|
|
84
|
+
console.log(`taskbuffer schedule triggered task >>${taskToSchedule.name}<<`);
|
|
85
|
+
console.log(
|
|
86
|
+
`task >>${taskToSchedule.name}<< is ${
|
|
87
|
+
taskToSchedule.buffered
|
|
88
|
+
? `buffered with max ${taskToSchedule.bufferMax} buffered calls`
|
|
89
|
+
: `unbuffered`
|
|
90
|
+
}`
|
|
91
|
+
);
|
|
92
|
+
if (this.options.distributedCoordinator) {
|
|
93
|
+
console.log(`Found a distrubuted coordinator, performing distributed consultation.`);
|
|
94
|
+
const announcementResult =
|
|
95
|
+
await this.options.distributedCoordinator.fireDistributedTaskRequest({
|
|
96
|
+
submitterRandomId: this.randomId,
|
|
97
|
+
status: 'requesting',
|
|
98
|
+
taskExecutionParallel: 1,
|
|
99
|
+
taskExecutionTime: triggerTimeArg,
|
|
100
|
+
taskExecutionTimeout: taskToSchedule.timeout,
|
|
101
|
+
taskName: taskToSchedule.name,
|
|
102
|
+
taskVersion: taskToSchedule.version,
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
if (!announcementResult.shouldTrigger) {
|
|
106
|
+
console.log('distributed coordinator result: NOT EXECUTING');
|
|
107
|
+
return;
|
|
108
|
+
} else {
|
|
109
|
+
console.log('distributed coordinator result: CHOSEN AND EXECUTING');
|
|
110
|
+
}
|
|
107
111
|
}
|
|
112
|
+
await taskToSchedule.trigger();
|
|
108
113
|
}
|
|
109
|
-
|
|
110
|
-
});
|
|
114
|
+
);
|
|
111
115
|
taskToSchedule.cronJob = cronJob;
|
|
112
116
|
}
|
|
113
117
|
|