@push.rocks/taskbuffer 4.1.1 → 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 +1 -1
- 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
|
@@ -3,7 +3,7 @@
|
|
|
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
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLDhJQUE4STtDQUM1SixDQUFBIn0=
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/taskbuffer',
|
|
6
|
-
version: '
|
|
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
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsd0JBQXdCO0lBQzlCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSw4SUFBOEk7Q0FDNUosQ0FBQSJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { html, css, cssManager } from '@design.estate/dees-element';
|
|
2
|
-
import { TaskManager, Task } from '../../
|
|
2
|
+
import { TaskManager, Task } from '../../dist_ts/index.js';
|
|
3
3
|
import '../taskbuffer-dashboard.js';
|
|
4
4
|
export const demoFunc = () => html `
|
|
5
5
|
<style>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './taskbuffer-dashboard.js';
|
|
2
|
-
export type { TaskManager, Task, ITaskMetadata, ITaskExecutionReport, IScheduledTaskInfo, ITaskStep } from '../
|
|
2
|
+
export type { TaskManager, Task, ITaskMetadata, ITaskExecutionReport, IScheduledTaskInfo, ITaskStep } from '../dist_ts/index.js';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { DeesElement } from '@design.estate/dees-element';
|
|
2
|
-
import type { TaskManager } from '../
|
|
2
|
+
import type { TaskManager, ITaskMetadata, IScheduledTaskInfo } from '../dist_ts/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* A web component that displays TaskManager tasks with progress visualization
|
|
5
5
|
*/
|
|
6
6
|
export declare class TaskbufferDashboard extends DeesElement {
|
|
7
|
-
taskManager: TaskManager | null;
|
|
8
|
-
refreshInterval: number;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
accessor taskManager: TaskManager | null;
|
|
8
|
+
accessor refreshInterval: number;
|
|
9
|
+
accessor tasks: ITaskMetadata[];
|
|
10
|
+
accessor scheduledTasks: IScheduledTaskInfo[];
|
|
11
|
+
accessor isRunning: boolean;
|
|
12
12
|
private refreshTimer;
|
|
13
13
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
14
14
|
connectedCallback(): Promise<void>;
|
|
@@ -9,16 +9,23 @@ import { DeesElement, customElement, html, css, property, state, cssManager } fr
|
|
|
9
9
|
* A web component that displays TaskManager tasks with progress visualization
|
|
10
10
|
*/
|
|
11
11
|
let TaskbufferDashboard = class TaskbufferDashboard extends DeesElement {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
12
|
+
#taskManager_accessor_storage = null;
|
|
13
|
+
// Properties
|
|
14
|
+
get taskManager() { return this.#taskManager_accessor_storage; }
|
|
15
|
+
set taskManager(value) { this.#taskManager_accessor_storage = value; }
|
|
16
|
+
#refreshInterval_accessor_storage = 1000;
|
|
17
|
+
get refreshInterval() { return this.#refreshInterval_accessor_storage; } // milliseconds
|
|
18
|
+
set refreshInterval(value) { this.#refreshInterval_accessor_storage = value; }
|
|
19
|
+
#tasks_accessor_storage = [];
|
|
20
|
+
// Internal state
|
|
21
|
+
get tasks() { return this.#tasks_accessor_storage; }
|
|
22
|
+
set tasks(value) { this.#tasks_accessor_storage = value; }
|
|
23
|
+
#scheduledTasks_accessor_storage = [];
|
|
24
|
+
get scheduledTasks() { return this.#scheduledTasks_accessor_storage; }
|
|
25
|
+
set scheduledTasks(value) { this.#scheduledTasks_accessor_storage = value; }
|
|
26
|
+
#isRunning_accessor_storage = false;
|
|
27
|
+
get isRunning() { return this.#isRunning_accessor_storage; }
|
|
28
|
+
set isRunning(value) { this.#isRunning_accessor_storage = value; }
|
|
22
29
|
// Styles
|
|
23
30
|
static { this.styles = [
|
|
24
31
|
cssManager.defaultStyles,
|
|
@@ -529,21 +536,21 @@ let TaskbufferDashboard = class TaskbufferDashboard extends DeesElement {
|
|
|
529
536
|
};
|
|
530
537
|
__decorate([
|
|
531
538
|
property({ type: Object })
|
|
532
|
-
], TaskbufferDashboard.prototype, "taskManager",
|
|
539
|
+
], TaskbufferDashboard.prototype, "taskManager", null);
|
|
533
540
|
__decorate([
|
|
534
541
|
property({ type: Number })
|
|
535
|
-
], TaskbufferDashboard.prototype, "refreshInterval",
|
|
542
|
+
], TaskbufferDashboard.prototype, "refreshInterval", null);
|
|
536
543
|
__decorate([
|
|
537
544
|
state()
|
|
538
|
-
], TaskbufferDashboard.prototype, "tasks",
|
|
545
|
+
], TaskbufferDashboard.prototype, "tasks", null);
|
|
539
546
|
__decorate([
|
|
540
547
|
state()
|
|
541
|
-
], TaskbufferDashboard.prototype, "scheduledTasks",
|
|
548
|
+
], TaskbufferDashboard.prototype, "scheduledTasks", null);
|
|
542
549
|
__decorate([
|
|
543
550
|
state()
|
|
544
|
-
], TaskbufferDashboard.prototype, "isRunning",
|
|
551
|
+
], TaskbufferDashboard.prototype, "isRunning", null);
|
|
545
552
|
TaskbufferDashboard = __decorate([
|
|
546
553
|
customElement('taskbuffer-dashboard')
|
|
547
554
|
], TaskbufferDashboard);
|
|
548
555
|
export { TaskbufferDashboard };
|
|
549
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
556
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci1kYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvdGFza2J1ZmZlci1kYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2pIOztHQUVHO0FBRUksSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxXQUFXO0lBR3pDLGdDQUFrQyxJQUFJLENBQUM7SUFGaEQsYUFBYTtJQUVKLElBQUEsV0FBVyxpREFBNEI7SUFBdkMsSUFBQSxXQUFXLHVEQUE0QjtJQUd2QyxvQ0FBMEIsSUFBSSxDQUFDO0lBQS9CLElBQUEsZUFBZSxxREFBZ0IsQ0FBQyxlQUFlO0lBQS9DLElBQUEsZUFBZSwyREFBZ0I7SUFJL0IsMEJBQXlCLEVBQUUsQ0FBQztJQUZyQyxpQkFBaUI7SUFFUixJQUFBLEtBQUssMkNBQXVCO0lBQTVCLElBQUEsS0FBSyxpREFBdUI7SUFHNUIsbUNBQXVDLEVBQUUsQ0FBQztJQUExQyxJQUFBLGNBQWMsb0RBQTRCO0lBQTFDLElBQUEsY0FBYywwREFBNEI7SUFHMUMsOEJBQXFCLEtBQUssQ0FBQztJQUEzQixJQUFBLFNBQVMsK0NBQWtCO0lBQTNCLElBQUEsU0FBUyxxREFBa0I7SUFJcEMsU0FBUzthQUNGLFdBQU0sR0FBRztRQUNkLFVBQVUsQ0FBQyxhQUFhO1FBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7c0JBUWUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7Ozs7Ozs7OztpQkFXN0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7Ozs7Ozs7OztzQkFXbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@push.rocks/taskbuffer",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
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",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
"debounced tasks",
|
|
28
28
|
"distributed coordination"
|
|
29
29
|
],
|
|
30
|
-
"author": "
|
|
30
|
+
"author": "Task Venture Capital GmbH <hello@task.vc>",
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"bugs": {
|
|
33
33
|
"url": "https://code.foss.global/push.rocks/taskbuffer/issues"
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://code.foss.global/push.rocks/taskbuffer#readme",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@design.estate/dees-element": "^2.1.
|
|
37
|
+
"@design.estate/dees-element": "^2.1.6",
|
|
38
38
|
"@push.rocks/lik": "^6.2.2",
|
|
39
39
|
"@push.rocks/smartdelay": "^3.0.5",
|
|
40
40
|
"@push.rocks/smartlog": "^3.1.10",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@push.rocks/smartunique": "^3.0.9"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@git.zone/tsbuild": "^
|
|
48
|
-
"@git.zone/tsbundle": "^2.
|
|
49
|
-
"@git.zone/tsrun": "^2.0.
|
|
50
|
-
"@git.zone/tstest": "^3.1.
|
|
51
|
-
"@types/node": "^
|
|
47
|
+
"@git.zone/tsbuild": "^4.1.2",
|
|
48
|
+
"@git.zone/tsbundle": "^2.8.3",
|
|
49
|
+
"@git.zone/tsrun": "^2.0.1",
|
|
50
|
+
"@git.zone/tstest": "^3.1.8",
|
|
51
|
+
"@types/node": "^25.1.0"
|
|
52
52
|
},
|
|
53
53
|
"files": [
|
|
54
54
|
"ts/**/*",
|
package/readme.hints.md
CHANGED
|
@@ -36,7 +36,34 @@
|
|
|
36
36
|
|
|
37
37
|
## Project Structure
|
|
38
38
|
- Source in `ts/`, web components in `ts_web/`
|
|
39
|
-
- Tests in `test/` - naming: `*.node.ts`, `*.
|
|
39
|
+
- Tests in `test/` - naming: `*.node.ts`, `*.chromium.ts` (preferred), `*.both.ts`
|
|
40
|
+
- Note: `*.browser.ts` is deprecated, use `*.chromium.ts` for browser tests
|
|
40
41
|
- Logger: `ts/taskbuffer.logging.ts` exports `logger` (ConsoleLog from smartlog)
|
|
41
42
|
- Build: `pnpm build` (tsbuild tsfolders)
|
|
42
43
|
- Test: `pnpm test` or `tstest test/test.XX.name.ts --verbose`
|
|
44
|
+
|
|
45
|
+
## Web Components (ts_web/)
|
|
46
|
+
- Uses `@design.estate/dees-element` with TC39 decorators
|
|
47
|
+
- Decorators require the `accessor` keyword:
|
|
48
|
+
```typescript
|
|
49
|
+
@property({ type: String })
|
|
50
|
+
accessor myProp = 'default';
|
|
51
|
+
|
|
52
|
+
@state()
|
|
53
|
+
accessor count = 0;
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Dependencies (as of v4.1.1)
|
|
57
|
+
- `@design.estate/dees-element` ^2.1.6 - TC39 decorators with `accessor` keyword
|
|
58
|
+
- `@push.rocks/lik` ^6.2.2 - Data structures
|
|
59
|
+
- `@push.rocks/smartdelay` ^3.0.5 - Delay utilities
|
|
60
|
+
- `@push.rocks/smartlog` ^3.1.10 - Logging
|
|
61
|
+
- `@push.rocks/smartpromise` ^4.2.3 - Promise utilities
|
|
62
|
+
- `@push.rocks/smartrx` ^3.0.10 - RxJS wrapper
|
|
63
|
+
- `@push.rocks/smarttime` ^4.1.1 - Time/cron utilities
|
|
64
|
+
- `@push.rocks/smartunique` ^3.0.9 - Unique ID generation
|
|
65
|
+
- `@git.zone/tsbuild` ^4.1.2 - Build tool
|
|
66
|
+
- `@git.zone/tsbundle` ^2.8.3 - Bundler (for browser tests)
|
|
67
|
+
- `@git.zone/tsrun` ^2.0.1 - TypeScript runner
|
|
68
|
+
- `@git.zone/tstest` ^3.1.8 - Test runner (supports `.chromium.ts` files)
|
|
69
|
+
- `@types/node` ^25.1.0 - Node.js type definitions
|
package/readme.md
CHANGED
|
@@ -737,7 +737,7 @@ import type {
|
|
|
737
737
|
|
|
738
738
|
## License and Legal Information
|
|
739
739
|
|
|
740
|
-
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [
|
|
740
|
+
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license.md](./license.md) file.
|
|
741
741
|
|
|
742
742
|
**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.
|
|
743
743
|
|
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
|
-
}
|