@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.
Files changed (49) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts_web/00_commitinfo_data.js +2 -2
  3. package/dist_ts_web/{ts_web/elements → elements}/taskbuffer-dashboard.demo.js +1 -1
  4. package/dist_ts_web/{ts_web/index.d.ts → index.d.ts} +1 -1
  5. package/dist_ts_web/{ts_web/taskbuffer-dashboard.d.ts → taskbuffer-dashboard.d.ts} +6 -6
  6. package/dist_ts_web/{ts_web/taskbuffer-dashboard.js → taskbuffer-dashboard.js} +23 -16
  7. package/package.json +8 -8
  8. package/readme.hints.md +28 -1
  9. package/readme.md +538 -408
  10. package/ts/00_commitinfo_data.ts +1 -1
  11. package/ts_web/00_commitinfo_data.ts +1 -1
  12. package/ts_web/taskbuffer-dashboard.ts +5 -5
  13. package/dist_ts_web/ts/index.d.ts +0 -13
  14. package/dist_ts_web/ts/index.js +0 -12
  15. package/dist_ts_web/ts/taskbuffer.classes.bufferrunner.d.ts +0 -8
  16. package/dist_ts_web/ts/taskbuffer.classes.bufferrunner.js +0 -41
  17. package/dist_ts_web/ts/taskbuffer.classes.cyclecounter.d.ts +0 -14
  18. package/dist_ts_web/ts/taskbuffer.classes.cyclecounter.js +0 -44
  19. package/dist_ts_web/ts/taskbuffer.classes.distributedcoordinator.d.ts +0 -27
  20. package/dist_ts_web/ts/taskbuffer.classes.distributedcoordinator.js +0 -5
  21. package/dist_ts_web/ts/taskbuffer.classes.task.d.ts +0 -99
  22. package/dist_ts_web/ts/taskbuffer.classes.task.js +0 -338
  23. package/dist_ts_web/ts/taskbuffer.classes.taskchain.d.ts +0 -14
  24. package/dist_ts_web/ts/taskbuffer.classes.taskchain.js +0 -60
  25. package/dist_ts_web/ts/taskbuffer.classes.taskdebounced.d.ts +0 -10
  26. package/dist_ts_web/ts/taskbuffer.classes.taskdebounced.js +0 -31
  27. package/dist_ts_web/ts/taskbuffer.classes.taskmanager.d.ts +0 -54
  28. package/dist_ts_web/ts/taskbuffer.classes.taskmanager.js +0 -238
  29. package/dist_ts_web/ts/taskbuffer.classes.taskonce.d.ts +0 -11
  30. package/dist_ts_web/ts/taskbuffer.classes.taskonce.js +0 -20
  31. package/dist_ts_web/ts/taskbuffer.classes.taskparallel.d.ts +0 -7
  32. package/dist_ts_web/ts/taskbuffer.classes.taskparallel.js +0 -25
  33. package/dist_ts_web/ts/taskbuffer.classes.taskrunner.d.ts +0 -30
  34. package/dist_ts_web/ts/taskbuffer.classes.taskrunner.js +0 -60
  35. package/dist_ts_web/ts/taskbuffer.classes.taskstep.d.ts +0 -27
  36. package/dist_ts_web/ts/taskbuffer.classes.taskstep.js +0 -37
  37. package/dist_ts_web/ts/taskbuffer.interfaces.d.ts +0 -47
  38. package/dist_ts_web/ts/taskbuffer.interfaces.js +0 -2
  39. package/dist_ts_web/ts/taskbuffer.logging.d.ts +0 -2
  40. package/dist_ts_web/ts/taskbuffer.logging.js +0 -3
  41. package/dist_ts_web/ts/taskbuffer.plugins.d.ts +0 -8
  42. package/dist_ts_web/ts/taskbuffer.plugins.js +0 -9
  43. package/dist_ts_web/ts_web/00_commitinfo_data.d.ts +0 -8
  44. package/dist_ts_web/ts_web/00_commitinfo_data.js +0 -9
  45. package/dist_ts_web/ts_web/demorunner.d.ts +0 -1
  46. package/dist_ts_web/ts_web/demorunner.js +0 -33
  47. /package/dist_ts_web/{ts_web/elements → elements}/taskbuffer-dashboard.demo.d.ts +0 -0
  48. /package/dist_ts_web/{ts_web/index.js → index.js} +0 -0
  49. /package/{LICENSE → license.md} +0 -0
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/taskbuffer',
6
- version: '4.1.0',
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.1.0',
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
- public taskManager: TaskManager | null = null;
11
+ accessor taskManager: TaskManager | null = null;
12
12
 
13
13
  @property({ type: Number })
14
- public refreshInterval: number = 1000; // milliseconds
14
+ accessor refreshInterval: number = 1000; // milliseconds
15
15
 
16
16
  // Internal state
17
17
  @state()
18
- private tasks: ITaskMetadata[] = [];
18
+ accessor tasks: ITaskMetadata[] = [];
19
19
 
20
20
  @state()
21
- private scheduledTasks: IScheduledTaskInfo[] = [];
21
+ accessor scheduledTasks: IScheduledTaskInfo[] = [];
22
22
 
23
23
  @state()
24
- private isRunning: boolean = false;
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 };
@@ -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,8 +0,0 @@
1
- import { Task } from './taskbuffer.classes.task.js';
2
- export declare class BufferRunner {
3
- task: Task;
4
- bufferCounter: number;
5
- constructor(taskArg: Task<any>);
6
- trigger(x: any): Promise<any>;
7
- private _run;
8
- }
@@ -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
- }