@push.rocks/taskbuffer 3.0.10 → 3.0.11
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 +8709 -5259
- 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.distributedcoordinator.d.ts +3 -0
- package/dist_ts/taskbuffer.classes.distributedcoordinator.js +1 -1
- package/dist_ts/taskbuffer.classes.taskmanager.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 +12 -11
- package/readme.md +14 -16
- package/ts/00_commitinfo_data.ts +2 -2
- package/ts/index.ts +2 -4
- package/ts/taskbuffer.classes.distributedcoordinator.ts +10 -3
- package/ts/taskbuffer.classes.taskmanager.ts +34 -30
- 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.11',
|
|
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=
|
|
@@ -2,4 +2,4 @@ import './taskbuffer.classes.task.js';
|
|
|
2
2
|
import './taskbuffer.plugins.js';
|
|
3
3
|
export class AbstractDistributedCoordinator {
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLmRpc3RyaWJ1dGVkY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMuZGlzdHJpYnV0ZWRjb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFxQiw4QkFBOEIsQ0FBQztBQUNwRCxPQUF5Qix5QkFBeUIsQ0FBQztBQWdDbkQsTUFBTSxPQUFnQiw4QkFBOEI7Q0FPbkQifQ==
|
|
@@ -7,7 +7,7 @@ export class TaskManager {
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5jbGFzc2VzLnRhc2ttYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBcUIsOEJBQThCLENBQUM7QUFDcEQsT0FBK0MsZ0RBQWdELENBQUM7QUFZaEcsTUFBTSxPQUFPLFdBQVc7SUFTdEIsWUFBWSxjQUE4QyxFQUFFO1FBUnJELGFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ25DLFlBQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFRLENBQUM7UUFDM0MsbUJBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdEQsWUFBTyxHQUFtQztZQUMvQyxzQkFBc0IsRUFBRSxJQUFJO1NBQzdCLENBQUM7UUFHQSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYSxDQUFDLFdBQW1CO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE9BQU8sQ0FBQyxPQUFhO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFD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
|
|
@@ -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.11",
|
|
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,20 +29,20 @@
|
|
|
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.0",
|
|
34
|
+
"@push.rocks/smartdelay": "^3.0.5",
|
|
35
|
+
"@push.rocks/smartlog": "^3.0.1",
|
|
36
|
+
"@push.rocks/smartpromise": "^4.0.3",
|
|
37
|
+
"@push.rocks/smartrx": "^3.0.0",
|
|
38
|
+
"@push.rocks/smarttime": "^4.0.1"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
41
|
"@gitzone/tsbuild": "^2.1.63",
|
|
41
42
|
"@gitzone/tsbundle": "^2.0.6",
|
|
42
43
|
"@gitzone/tsrun": "^1.2.39",
|
|
43
44
|
"@gitzone/tstest": "^1.0.72",
|
|
44
|
-
"@
|
|
45
|
+
"@push.rocks/tapbundle": "^5.0.4",
|
|
45
46
|
"@types/node": "^18.11.18"
|
|
46
47
|
},
|
|
47
48
|
"files": [
|
|
@@ -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 };
|
|
@@ -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
|
+
}
|
|
@@ -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
|
|
package/ts/taskbuffer.plugins.ts
CHANGED
|
@@ -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
|
|
|
9
9
|
export { isounique, lik, smartlog, smartpromise, smartdelay, smartrx, smarttime };
|