@push.rocks/taskbuffer 3.1.7 → 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 +8261 -1502
- package/dist_bundle/bundle.js.map +4 -4
- package/dist_ts/00_commitinfo_data.d.ts +1 -1
- package/dist_ts/00_commitinfo_data.js +4 -4
- package/dist_ts/taskbuffer.classes.bufferrunner.js +1 -1
- package/dist_ts/taskbuffer.classes.cyclecounter.js +1 -1
- package/dist_ts/taskbuffer.classes.task.d.ts +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.taskonce.js +1 -1
- 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 +19 -4
- package/package.json +22 -18
- package/readme.hints.md +1 -0
- package/readme.md +493 -46
- package/ts/00_commitinfo_data.ts +3 -3
- 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
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as plugins from './taskbuffer.plugins.js';
|
|
2
2
|
import { Task } from './taskbuffer.classes.task.js';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
AbstractDistributedCoordinator,
|
|
5
|
+
type IDistributedTaskRequestResult,
|
|
6
|
+
} from './taskbuffer.classes.distributedcoordinator.js';
|
|
4
7
|
|
|
5
8
|
export interface ICronJob {
|
|
6
9
|
cronString: string;
|
|
@@ -66,7 +69,10 @@ export class TaskManager {
|
|
|
66
69
|
async (triggerTime: number) => {
|
|
67
70
|
this.logTaskState(task);
|
|
68
71
|
if (this.options.distributedCoordinator) {
|
|
69
|
-
const announcementResult = await this.performDistributedConsultation(
|
|
72
|
+
const announcementResult = await this.performDistributedConsultation(
|
|
73
|
+
task,
|
|
74
|
+
triggerTime,
|
|
75
|
+
);
|
|
70
76
|
if (!announcementResult.shouldTrigger) {
|
|
71
77
|
console.log('Distributed coordinator result: NOT EXECUTING');
|
|
72
78
|
return;
|
|
@@ -75,7 +81,7 @@ export class TaskManager {
|
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
83
|
await task.trigger();
|
|
78
|
-
}
|
|
84
|
+
},
|
|
79
85
|
);
|
|
80
86
|
task.cronJob = cronJob;
|
|
81
87
|
}
|
|
@@ -88,7 +94,10 @@ export class TaskManager {
|
|
|
88
94
|
console.log(`Task >>${task.name}<< is ${bufferState}`);
|
|
89
95
|
}
|
|
90
96
|
|
|
91
|
-
private async performDistributedConsultation(
|
|
97
|
+
private async performDistributedConsultation(
|
|
98
|
+
task: Task,
|
|
99
|
+
triggerTime: number,
|
|
100
|
+
): Promise<IDistributedTaskRequestResult> {
|
|
92
101
|
console.log('Found a distributed coordinator, performing consultation.');
|
|
93
102
|
|
|
94
103
|
return this.options.distributedCoordinator.fireDistributedTaskRequest({
|
|
@@ -5,7 +5,8 @@ import { Task } from './taskbuffer.classes.task.js';
|
|
|
5
5
|
export class TaskRunner {
|
|
6
6
|
public maxParrallelJobs: number = 1;
|
|
7
7
|
public status: 'stopped' | 'running' = 'stopped';
|
|
8
|
-
public runningTasks: plugins.lik.ObjectMap<Task> =
|
|
8
|
+
public runningTasks: plugins.lik.ObjectMap<Task> =
|
|
9
|
+
new plugins.lik.ObjectMap<Task>();
|
|
9
10
|
public qeuedTasks: Task[] = [];
|
|
10
11
|
|
|
11
12
|
constructor() {
|
package/ts/taskbuffer.plugins.ts
CHANGED
|
@@ -6,4 +6,12 @@ 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
8
|
|
|
9
|
-
export {
|
|
9
|
+
export {
|
|
10
|
+
lik,
|
|
11
|
+
smartlog,
|
|
12
|
+
smartpromise,
|
|
13
|
+
smartdelay,
|
|
14
|
+
smartrx,
|
|
15
|
+
smarttime,
|
|
16
|
+
smartunique,
|
|
17
|
+
};
|