@start9labs/start-sdk 0.4.0-beta.27 → 0.4.0-beta.28
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/base/lib/osBindings/GetOsVersionParams.d.ts +0 -1
- package/base/lib/osBindings/Manifest.d.ts +1 -0
- package/package/lib/StartSdk.d.ts +2 -2
- package/package/lib/StartSdk.js +2 -2
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/health/HealthCheck.js +4 -3
- package/package/lib/health/HealthCheck.js.map +1 -1
- package/package/lib/mainFn/CommandController.d.ts +2 -2
- package/package/lib/mainFn/CommandController.js +4 -4
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +4 -4
- package/package/lib/mainFn/Daemon.js +8 -9
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +29 -20
- package/package/lib/mainFn/Daemons.js +44 -14
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.d.ts +1 -2
- package/package/lib/mainFn/HealthDaemon.js +30 -29
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/mainFn/Oneshot.d.ts +2 -2
- package/package/lib/mainFn/Oneshot.js +4 -5
- package/package/lib/mainFn/Oneshot.js.map +1 -1
- package/package/lib/manifest/setupManifest.js +2 -0
- package/package/lib/manifest/setupManifest.js.map +1 -1
- package/package/lib/test/output.js +297 -386
- package/package/lib/test/output.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +2 -2
- package/package/lib/util/fileHelper.d.ts +6 -2
- package/package/lib/util/fileHelper.js +8 -4
- package/package/lib/util/fileHelper.js.map +1 -1
- package/package/package.json +63 -0
- package/package.json +4 -4
|
@@ -503,10 +503,10 @@ export declare class StartSdk<Manifest extends T.SDKManifest> {
|
|
|
503
503
|
of: <Spec extends Record<string, Value<any>>>(spec: Spec) => InputSpec<{ [K in keyof Spec]: Spec[K] extends Value<infer T> ? T : never; }>;
|
|
504
504
|
};
|
|
505
505
|
Daemon: {
|
|
506
|
-
readonly of: (effects: T.Effects, subcontainer:
|
|
506
|
+
readonly of: <C extends SubContainer<Manifest, Effects> | null>(effects: T.Effects, subcontainer: C, exec: import("./mainFn/Daemons").DaemonCommandType<Manifest, C>) => Promise<Daemon<Manifest, SubContainer<Manifest, Effects> | null>>;
|
|
507
507
|
};
|
|
508
508
|
Daemons: {
|
|
509
|
-
of(effects: Effects, started: (onTerm: () => PromiseLike<void>) => PromiseLike<null
|
|
509
|
+
of(effects: Effects, started: ((onTerm: () => PromiseLike<void>) => PromiseLike<null>) | null): Daemons<Manifest, never>;
|
|
510
510
|
};
|
|
511
511
|
SubContainer: {
|
|
512
512
|
/**
|
package/package/lib/StartSdk.js
CHANGED
|
@@ -564,8 +564,8 @@ class StartSdk {
|
|
|
564
564
|
},
|
|
565
565
|
},
|
|
566
566
|
Daemons: {
|
|
567
|
-
of(effects, started
|
|
568
|
-
return Daemons_1.Daemons.of({ effects, started
|
|
567
|
+
of(effects, started) {
|
|
568
|
+
return Daemons_1.Daemons.of({ effects, started });
|
|
569
569
|
},
|
|
570
570
|
},
|
|
571
571
|
SubContainer: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartSdk.js","sourceRoot":"","sources":["../../../package/lib/StartSdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"StartSdk.js","sourceRoot":"","sources":["../../../package/lib/StartSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,9 +57,10 @@ class HealthCheck extends util_1.Drop {
|
|
|
57
57
|
message: message || "",
|
|
58
58
|
});
|
|
59
59
|
this.currentValue.lastResult = result;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
if (result === "success")
|
|
61
|
+
await triggerFirstSuccess().catch((err) => {
|
|
62
|
+
console.error((0, util_1.asError)(err));
|
|
63
|
+
});
|
|
63
64
|
}
|
|
64
65
|
catch (e) {
|
|
65
66
|
await effects.setHealth({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../../../package/lib/health/HealthCheck.ts"],"names":[],"mappings":";;;AAIA,8DAA0D;AAC1D,kCAA6C;AAC7C,2CAA4C;AAW5C,MAAa,WAAY,SAAQ,WAAI;IAWnC,YAAoB,OAAgB,EAAE,CAAoB;QACxD,KAAK,EAAE,CAAA;QAXD,YAAO,GAAkB,IAAI,CAAA;QAC7B,eAAU,GAAG,CAAC,OAAsB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC,CAAA;QACO,WAAM,GAAG,KAAK,CAAA;QACd,SAAI,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QACpB,CAAC,CAAA;QACO,iBAAY,GAAiB,EAAE,CAAA;QAIrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC/C,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAA;YAC/C,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,MAAM,CAAA;YAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,+BAAc,CAAC,CAAC,eAAe,CAAC,CAAA;YAC9D,MAAM,mBAAmB,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,CACpC,OAAO,CAAC,OAAO,CACb,gBAAgB,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc;gBACvC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;gBACpB,CAAC,CAAC,SAAS,CACd,CACF,CAAA;YACD,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB;gBACE,IAAI,CAAC,OAAO;gBACZ,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,OAAsB,EAAE,EAAE;wBAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;wBACtB,OAAO,EAAE,CAAA;oBACX,CAAC,CAAA;oBACD,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE;wBACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;wBAClB,OAAO,EAAE,CAAA;oBACX,CAAC,CAAA;gBACH,CAAC,CAAC;aACM,CAAA;YACZ,IAAI,SAAS,GAAG,KAAK,CAAA;YACrB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,YAAY,EAAE,CAAA;gBACzC,IAAI,IAAI,GAEyD;oBAC/D,OAAO;iBACR,CAAA;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;oBAChC,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC;4BACH,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAA;4BACtC,IACE,MAAM,KAAK,SAAS;gCACpB,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,WAAW;gCAE1C,MAAM,GAAG,UAAU,CAAA;4BACrB,MAAM,OAAO,CAAC,SAAS,CAAC;gCACtB,IAAI,EAAE,CAAC,CAAC,IAAI;gCACZ,EAAE,EAAE,CAAC,CAAC,EAAE;gCACR,MAAM;gCACN,OAAO,EAAE,OAAO,IAAI,EAAE;6BACvB,CAAC,CAAA;4BACF,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAA;4BACrC,MAAM,mBAAmB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"HealthCheck.js","sourceRoot":"","sources":["../../../../package/lib/health/HealthCheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@ import * as T from "../../../base/lib/types";
|
|
|
2
2
|
import { SubContainer } from "../util/SubContainer";
|
|
3
3
|
import { Drop } from "../util";
|
|
4
4
|
import { DaemonCommandType } from "./Daemons";
|
|
5
|
-
export declare class CommandController<Manifest extends T.SDKManifest> extends Drop {
|
|
5
|
+
export declare class CommandController<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> extends Drop {
|
|
6
6
|
readonly runningAnswer: Promise<null>;
|
|
7
7
|
private state;
|
|
8
8
|
private readonly subcontainer;
|
|
9
9
|
private process;
|
|
10
10
|
readonly sigtermTimeout: number;
|
|
11
11
|
private constructor();
|
|
12
|
-
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer:
|
|
12
|
+
static of<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null>(): (effects: T.Effects, subcontainer: C, exec: DaemonCommandType<Manifest, C>) => Promise<CommandController<Manifest, C>>;
|
|
13
13
|
wait({ timeout }?: {
|
|
14
14
|
timeout?: number | undefined;
|
|
15
15
|
}): Promise<void>;
|
|
@@ -55,7 +55,7 @@ class CommandController extends util_1.Drop {
|
|
|
55
55
|
const abort = new AbortController();
|
|
56
56
|
const cell = {
|
|
57
57
|
ctrl: new CommandController(exec.fn(subcontainer, abort).then(async (command) => {
|
|
58
|
-
if (command && !abort.signal.aborted) {
|
|
58
|
+
if (subcontainer && command && !abort.signal.aborted) {
|
|
59
59
|
Object.assign(cell.ctrl, await CommandController.of()(effects, subcontainer, command));
|
|
60
60
|
return await cell.ctrl.runningAnswer;
|
|
61
61
|
}
|
|
@@ -116,7 +116,7 @@ class CommandController extends util_1.Drop {
|
|
|
116
116
|
return new CommandController(answer, state, subcontainer, childProcess, exec.sigtermTimeout);
|
|
117
117
|
}
|
|
118
118
|
catch (e) {
|
|
119
|
-
await subcontainer
|
|
119
|
+
await subcontainer?.destroy();
|
|
120
120
|
throw e;
|
|
121
121
|
}
|
|
122
122
|
};
|
|
@@ -142,7 +142,7 @@ class CommandController extends util_1.Drop {
|
|
|
142
142
|
else
|
|
143
143
|
this.process.kill("SIGKILL");
|
|
144
144
|
}
|
|
145
|
-
await this.subcontainer
|
|
145
|
+
await this.subcontainer?.destroy();
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
async term({ signal = types_1.SIGTERM, timeout = this.sigtermTimeout } = {}) {
|
|
@@ -171,7 +171,7 @@ class CommandController extends util_1.Drop {
|
|
|
171
171
|
await this.runningAnswer;
|
|
172
172
|
}
|
|
173
173
|
finally {
|
|
174
|
-
await this.subcontainer
|
|
174
|
+
await this.subcontainer?.destroy();
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
onDrop() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAA2C;AAC3C,mDAA6D;AAE7D,2DAA4C;AAE5C,kCAA4C;AAE5C,qDAAsC;
|
|
1
|
+
{"version":3,"file":"CommandController.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/CommandController.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { Oneshot } from "./Oneshot";
|
|
|
8
8
|
* This is a wrapper around CommandController that has a state of off, where the command shouldn't be running
|
|
9
9
|
* and the others state of running, where it will keep a living running command
|
|
10
10
|
*/
|
|
11
|
-
export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
11
|
+
export declare class Daemon<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null = SubContainer<Manifest> | null> extends Drop {
|
|
12
12
|
private subcontainer;
|
|
13
13
|
private startCommand;
|
|
14
14
|
readonly oneshot: boolean;
|
|
@@ -16,9 +16,9 @@ export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
|
16
16
|
private shouldBeRunning;
|
|
17
17
|
protected exitedSuccess: boolean;
|
|
18
18
|
private onExitFns;
|
|
19
|
-
protected constructor(subcontainer:
|
|
19
|
+
protected constructor(subcontainer: C, startCommand: () => Promise<CommandController<Manifest, C>>, oneshot?: boolean);
|
|
20
20
|
isOneshot(): this is Oneshot<Manifest>;
|
|
21
|
-
static of<Manifest extends T.SDKManifest>(): (effects: T.Effects, subcontainer:
|
|
21
|
+
static of<Manifest extends T.SDKManifest>(): <C extends SubContainer<Manifest> | null>(effects: T.Effects, subcontainer: C, exec: DaemonCommandType<Manifest, C>) => Promise<Daemon<Manifest, SubContainer<Manifest, T.Effects> | null>>;
|
|
22
22
|
start(): Promise<void>;
|
|
23
23
|
term(termOptions?: {
|
|
24
24
|
signal?: NodeJS.Signals | undefined;
|
|
@@ -28,7 +28,7 @@ export declare class Daemon<Manifest extends T.SDKManifest> extends Drop {
|
|
|
28
28
|
signal?: NodeJS.Signals | undefined;
|
|
29
29
|
timeout?: number | undefined;
|
|
30
30
|
}): Promise<void>;
|
|
31
|
-
subcontainerRc(): SubContainerRc<Manifest
|
|
31
|
+
subcontainerRc(): SubContainerRc<Manifest> | null;
|
|
32
32
|
onExit(fn: (success: boolean) => void): void;
|
|
33
33
|
onDrop(): void;
|
|
34
34
|
}
|
|
@@ -26,12 +26,11 @@ class Daemon extends util_1.Drop {
|
|
|
26
26
|
}
|
|
27
27
|
static of() {
|
|
28
28
|
return async (effects, subcontainer, exec) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return new Daemon(subcontainer, startCommand);
|
|
29
|
+
let subc = subcontainer;
|
|
30
|
+
if (subcontainer && subcontainer.isOwned())
|
|
31
|
+
subc = subcontainer.rc();
|
|
32
|
+
const startCommand = () => CommandController_1.CommandController.of()(effects, (subc?.rc() ?? null), exec);
|
|
33
|
+
return new Daemon(subc, startCommand);
|
|
35
34
|
};
|
|
36
35
|
}
|
|
37
36
|
async start() {
|
|
@@ -41,7 +40,7 @@ class Daemon extends util_1.Drop {
|
|
|
41
40
|
this.shouldBeRunning = true;
|
|
42
41
|
let timeoutCounter = 0;
|
|
43
42
|
(async () => {
|
|
44
|
-
while (this.
|
|
43
|
+
while (this.shouldBeRunning) {
|
|
45
44
|
if (this.commandController)
|
|
46
45
|
await this.commandController
|
|
47
46
|
.term({})
|
|
@@ -87,10 +86,10 @@ class Daemon extends util_1.Drop {
|
|
|
87
86
|
.catch((e) => console.error((0, asError_1.asError)(e)));
|
|
88
87
|
this.commandController = null;
|
|
89
88
|
this.onExitFns = [];
|
|
90
|
-
await this.subcontainer
|
|
89
|
+
await this.subcontainer?.destroy();
|
|
91
90
|
}
|
|
92
91
|
subcontainerRc() {
|
|
93
|
-
return this.subcontainer
|
|
92
|
+
return this.subcontainer?.rc() ?? null;
|
|
94
93
|
}
|
|
95
94
|
onExit(fn) {
|
|
96
95
|
this.onExitFns.push(fn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":";;;AACA,4DAAwD;AACxD,kCAA8B;AAM9B,2DAAuD;AAIvD,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACjC,MAAM,cAAc,GAAG,KAAK,CAAA;AAC5B;;;GAGG;AAEH,MAAa,
|
|
1
|
+
{"version":3,"file":"Daemon.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,6 @@ export { CommandController } from "./CommandController";
|
|
|
8
8
|
import { HealthDaemon } from "./HealthDaemon";
|
|
9
9
|
import { Daemon } from "./Daemon";
|
|
10
10
|
import { CommandController } from "./CommandController";
|
|
11
|
-
import { HealthCheck } from "../health/HealthCheck";
|
|
12
|
-
import { Manifest } from "../test/output.sdk";
|
|
13
11
|
export declare const cpExec: typeof CP.exec.__promisify__;
|
|
14
12
|
export declare const cpExecFile: typeof CP.execFile.__promisify__;
|
|
15
13
|
export type Ready = {
|
|
@@ -29,7 +27,7 @@ export type Ready = {
|
|
|
29
27
|
})
|
|
30
28
|
* ```
|
|
31
29
|
*/
|
|
32
|
-
fn: (
|
|
30
|
+
fn: () => Promise<HealthCheckResult> | HealthCheckResult;
|
|
33
31
|
/**
|
|
34
32
|
* A duration in milliseconds to treat a failing health check as "starting"
|
|
35
33
|
*
|
|
@@ -50,31 +48,36 @@ export type ExecCommandOptions = {
|
|
|
50
48
|
onStdout?: (chunk: Buffer | string | any) => void;
|
|
51
49
|
onStderr?: (chunk: Buffer | string | any) => void;
|
|
52
50
|
};
|
|
53
|
-
export type ExecFnOptions = {
|
|
54
|
-
fn: (subcontainer:
|
|
51
|
+
export type ExecFnOptions<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> = {
|
|
52
|
+
fn: (subcontainer: C, abort: AbortController) => Promise<C extends null ? null : ExecCommandOptions | null>;
|
|
55
53
|
sigtermTimeout?: number;
|
|
56
54
|
};
|
|
57
|
-
export type DaemonCommandType =
|
|
58
|
-
type NewDaemonParams<Manifest extends T.SDKManifest> = {
|
|
55
|
+
export type DaemonCommandType<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> = ExecFnOptions<Manifest, C> | (C extends null ? never : ExecCommandOptions);
|
|
56
|
+
type NewDaemonParams<Manifest extends T.SDKManifest, C extends SubContainer<Manifest> | null> = {
|
|
59
57
|
/** What to run as the daemon: either an async fn or a commandline command to run in the subcontainer */
|
|
60
|
-
exec: DaemonCommandType
|
|
61
|
-
/**
|
|
62
|
-
subcontainer:
|
|
58
|
+
exec: DaemonCommandType<Manifest, C>;
|
|
59
|
+
/** The subcontainer in which the daemon runs */
|
|
60
|
+
subcontainer: C;
|
|
63
61
|
};
|
|
64
|
-
type AddDaemonParams<Manifest extends T.SDKManifest, Ids extends string, Id extends string> = (NewDaemonParams<Manifest> | {
|
|
62
|
+
type AddDaemonParams<Manifest extends T.SDKManifest, Ids extends string, Id extends string, C extends SubContainer<Manifest> | null> = (NewDaemonParams<Manifest, C> | {
|
|
65
63
|
daemon: Daemon<Manifest>;
|
|
66
64
|
}) & {
|
|
67
65
|
ready: Ready;
|
|
68
66
|
/** An array of IDs of prior daemons whose successful initializations are required before this daemon will initialize */
|
|
69
67
|
requires: Exclude<Ids, Id>[];
|
|
70
68
|
};
|
|
71
|
-
type AddOneshotParams<Manifest extends T.SDKManifest, Ids extends string, Id extends string> = NewDaemonParams<Manifest> & {
|
|
72
|
-
exec: DaemonCommandType
|
|
69
|
+
type AddOneshotParams<Manifest extends T.SDKManifest, Ids extends string, Id extends string, C extends SubContainer<Manifest> | null> = NewDaemonParams<Manifest, C> & {
|
|
70
|
+
exec: DaemonCommandType<Manifest, C>;
|
|
71
|
+
/** An array of IDs of prior daemons whose successful initializations are required before this daemon will initialize */
|
|
72
|
+
requires: Exclude<Ids, Id>[];
|
|
73
|
+
};
|
|
74
|
+
type AddHealthCheckParams<Ids extends string, Id extends string> = {
|
|
75
|
+
ready: Ready;
|
|
73
76
|
/** An array of IDs of prior daemons whose successful initializations are required before this daemon will initialize */
|
|
74
77
|
requires: Exclude<Ids, Id>[];
|
|
75
78
|
};
|
|
76
79
|
type ErrorDuplicateId<Id extends string> = `The id '${Id}' is already used`;
|
|
77
|
-
export declare const runCommand: <Manifest extends T.SDKManifest>() => (effects: T.Effects, subcontainer: SubContainer<Manifest, T.Effects>, exec: DaemonCommandType) => Promise<CommandController<Manifest
|
|
80
|
+
export declare const runCommand: <Manifest extends T.SDKManifest>() => (effects: T.Effects, subcontainer: SubContainer<Manifest, T.Effects>, exec: DaemonCommandType<Manifest, SubContainer<Manifest, T.Effects>>) => Promise<CommandController<Manifest, SubContainer<Manifest, T.Effects>>>;
|
|
78
81
|
/**
|
|
79
82
|
* A class for defining and controlling the service daemons
|
|
80
83
|
```ts
|
|
@@ -100,11 +103,10 @@ Daemons.of({
|
|
|
100
103
|
*/
|
|
101
104
|
export declare class Daemons<Manifest extends T.SDKManifest, Ids extends string> implements T.DaemonBuildable {
|
|
102
105
|
readonly effects: T.Effects;
|
|
103
|
-
readonly started: (onTerm: () => PromiseLike<void>) => PromiseLike<null
|
|
106
|
+
readonly started: ((onTerm: () => PromiseLike<void>) => PromiseLike<null>) | null;
|
|
104
107
|
readonly daemons: Promise<Daemon<Manifest>>[];
|
|
105
108
|
readonly ids: Ids[];
|
|
106
109
|
readonly healthDaemons: HealthDaemon<Manifest>[];
|
|
107
|
-
readonly healthChecks: HealthCheck[];
|
|
108
110
|
private constructor();
|
|
109
111
|
/**
|
|
110
112
|
* Returns an empty new Daemons class with the provided inputSpec.
|
|
@@ -118,8 +120,7 @@ export declare class Daemons<Manifest extends T.SDKManifest, Ids extends string>
|
|
|
118
120
|
*/
|
|
119
121
|
static of<Manifest extends T.SDKManifest>(options: {
|
|
120
122
|
effects: T.Effects;
|
|
121
|
-
started: (onTerm: () => PromiseLike<void>) => PromiseLike<null
|
|
122
|
-
healthChecks: HealthCheck[];
|
|
123
|
+
started: ((onTerm: () => PromiseLike<void>) => PromiseLike<null>) | null;
|
|
123
124
|
}): Daemons<Manifest, never>;
|
|
124
125
|
/**
|
|
125
126
|
* Returns the complete list of daemons, including the one defined here
|
|
@@ -127,7 +128,7 @@ export declare class Daemons<Manifest extends T.SDKManifest, Ids extends string>
|
|
|
127
128
|
* @param options
|
|
128
129
|
* @returns a new Daemons object
|
|
129
130
|
*/
|
|
130
|
-
addDaemon<Id extends string>(id: "" extends Id ? never : ErrorDuplicateId<Id> extends Id ? never : Id extends Ids ? ErrorDuplicateId<Id> : Id, options: AddDaemonParams<Manifest, Ids, Id>): Daemons<Manifest, Ids | Id>;
|
|
131
|
+
addDaemon<Id extends string, C extends SubContainer<Manifest> | null>(id: "" extends Id ? never : ErrorDuplicateId<Id> extends Id ? never : Id extends Ids ? ErrorDuplicateId<Id> : Id, options: AddDaemonParams<Manifest, Ids, Id, C>): Daemons<Manifest, Ids | Id>;
|
|
131
132
|
/**
|
|
132
133
|
* Returns the complete list of daemons, including a "oneshot" daemon one defined here
|
|
133
134
|
* a oneshot daemon is a command that executes once when started, and is considered "running" once it exits successfully
|
|
@@ -135,7 +136,15 @@ export declare class Daemons<Manifest extends T.SDKManifest, Ids extends string>
|
|
|
135
136
|
* @param options
|
|
136
137
|
* @returns a new Daemons object
|
|
137
138
|
*/
|
|
138
|
-
addOneshot<Id extends string>(id: "" extends Id ? never : ErrorDuplicateId<Id> extends Id ? never : Id extends Ids ? ErrorDuplicateId<Id> : Id, options: AddOneshotParams<Manifest, Ids, Id>): Daemons<Manifest, Ids | Id>;
|
|
139
|
+
addOneshot<Id extends string, C extends SubContainer<Manifest> | null>(id: "" extends Id ? never : ErrorDuplicateId<Id> extends Id ? never : Id extends Ids ? ErrorDuplicateId<Id> : Id, options: AddOneshotParams<Manifest, Ids, Id, C>): Daemons<Manifest, Ids | Id>;
|
|
140
|
+
/**
|
|
141
|
+
* Returns the complete list of daemons, including a new HealthCheck defined here
|
|
142
|
+
* @param id
|
|
143
|
+
* @param options
|
|
144
|
+
* @returns a new Daemons object
|
|
145
|
+
*/
|
|
146
|
+
addHealthCheck<Id extends string>(id: "" extends Id ? never : ErrorDuplicateId<Id> extends Id ? never : Id extends Ids ? ErrorDuplicateId<Id> : Id, options: AddHealthCheckParams<Ids, Id>): Daemons<Manifest, Ids | Id>;
|
|
147
|
+
runUntilSuccess(timeout: number | null): Promise<null>;
|
|
139
148
|
term(): Promise<void>;
|
|
140
149
|
build(): Promise<this>;
|
|
141
150
|
}
|
|
@@ -72,13 +72,12 @@ Daemons.of({
|
|
|
72
72
|
```
|
|
73
73
|
*/
|
|
74
74
|
class Daemons {
|
|
75
|
-
constructor(effects, started, daemons, ids, healthDaemons
|
|
75
|
+
constructor(effects, started, daemons, ids, healthDaemons) {
|
|
76
76
|
this.effects = effects;
|
|
77
77
|
this.started = started;
|
|
78
78
|
this.daemons = daemons;
|
|
79
79
|
this.ids = ids;
|
|
80
80
|
this.healthDaemons = healthDaemons;
|
|
81
|
-
this.healthChecks = healthChecks;
|
|
82
81
|
}
|
|
83
82
|
/**
|
|
84
83
|
* Returns an empty new Daemons class with the provided inputSpec.
|
|
@@ -91,7 +90,7 @@ class Daemons {
|
|
|
91
90
|
* @returns
|
|
92
91
|
*/
|
|
93
92
|
static of(options) {
|
|
94
|
-
return new Daemons(options.effects, options.started, [], [], []
|
|
93
|
+
return new Daemons(options.effects, options.started, [], [], []);
|
|
95
94
|
}
|
|
96
95
|
/**
|
|
97
96
|
* Returns the complete list of daemons, including the one defined here
|
|
@@ -108,11 +107,11 @@ class Daemons {
|
|
|
108
107
|
const healthDaemon = new HealthDaemon_1.HealthDaemon(daemon, options.requires
|
|
109
108
|
.map((x) => this.ids.indexOf(x))
|
|
110
109
|
.filter((x) => x >= 0)
|
|
111
|
-
.map((id) => this.healthDaemons[id]), id,
|
|
112
|
-
const daemons = this.daemons
|
|
110
|
+
.map((id) => this.healthDaemons[id]), id, options.ready, this.effects);
|
|
111
|
+
const daemons = [...this.daemons, daemon];
|
|
113
112
|
const ids = [...this.ids, id];
|
|
114
113
|
const healthDaemons = [...this.healthDaemons, healthDaemon];
|
|
115
|
-
return new Daemons(this.effects, this.started, daemons, ids, healthDaemons
|
|
114
|
+
return new Daemons(this.effects, this.started, daemons, ids, healthDaemons);
|
|
116
115
|
}
|
|
117
116
|
/**
|
|
118
117
|
* Returns the complete list of daemons, including a "oneshot" daemon one defined here
|
|
@@ -126,15 +125,49 @@ class Daemons {
|
|
|
126
125
|
const healthDaemon = new HealthDaemon_1.HealthDaemon(daemon, options.requires
|
|
127
126
|
.map((x) => this.ids.indexOf(x))
|
|
128
127
|
.filter((x) => x >= 0)
|
|
129
|
-
.map((id) => this.healthDaemons[id]), id,
|
|
130
|
-
const daemons = this.daemons
|
|
128
|
+
.map((id) => this.healthDaemons[id]), id, "EXIT_SUCCESS", this.effects);
|
|
129
|
+
const daemons = [...this.daemons, daemon];
|
|
131
130
|
const ids = [...this.ids, id];
|
|
132
131
|
const healthDaemons = [...this.healthDaemons, healthDaemon];
|
|
133
|
-
return new Daemons(this.effects, this.started, daemons, ids, healthDaemons
|
|
132
|
+
return new Daemons(this.effects, this.started, daemons, ids, healthDaemons);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Returns the complete list of daemons, including a new HealthCheck defined here
|
|
136
|
+
* @param id
|
|
137
|
+
* @param options
|
|
138
|
+
* @returns a new Daemons object
|
|
139
|
+
*/
|
|
140
|
+
addHealthCheck(id, options) {
|
|
141
|
+
const healthDaemon = new HealthDaemon_1.HealthDaemon(null, options.requires
|
|
142
|
+
.map((x) => this.ids.indexOf(x))
|
|
143
|
+
.filter((x) => x >= 0)
|
|
144
|
+
.map((id) => this.healthDaemons[id]), id, options.ready, this.effects);
|
|
145
|
+
const daemons = [...this.daemons];
|
|
146
|
+
const ids = [...this.ids, id];
|
|
147
|
+
const healthDaemons = [...this.healthDaemons, healthDaemon];
|
|
148
|
+
return new Daemons(this.effects, this.started, daemons, ids, healthDaemons);
|
|
149
|
+
}
|
|
150
|
+
async runUntilSuccess(timeout) {
|
|
151
|
+
let resolve = (_) => { };
|
|
152
|
+
const res = new Promise((res, rej) => {
|
|
153
|
+
resolve = res;
|
|
154
|
+
if (timeout)
|
|
155
|
+
setTimeout(rej, timeout);
|
|
156
|
+
});
|
|
157
|
+
const daemon = Oneshot_1.Oneshot.of()(this.effects, null, {
|
|
158
|
+
fn: async () => {
|
|
159
|
+
resolve();
|
|
160
|
+
return null;
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
const healthDaemon = new HealthDaemon_1.HealthDaemon(daemon, [...this.healthDaemons], "__RUN_UNTIL_SUCCESS", "EXIT_SUCCESS", this.effects);
|
|
164
|
+
const daemons = await new Daemons(this.effects, this.started, [...this.daemons, daemon], this.ids, [...this.healthDaemons, healthDaemon]).build();
|
|
165
|
+
await res;
|
|
166
|
+
await daemons.term();
|
|
167
|
+
return null;
|
|
134
168
|
}
|
|
135
169
|
async term() {
|
|
136
170
|
try {
|
|
137
|
-
this.healthChecks.forEach((health) => health.stop());
|
|
138
171
|
for (let result of await Promise.allSettled(this.healthDaemons.map((x) => x.term()))) {
|
|
139
172
|
if (result.status === "rejected") {
|
|
140
173
|
console.error(result.reason);
|
|
@@ -149,10 +182,7 @@ class Daemons {
|
|
|
149
182
|
for (const daemon of this.healthDaemons) {
|
|
150
183
|
await daemon.init();
|
|
151
184
|
}
|
|
152
|
-
|
|
153
|
-
health.start();
|
|
154
|
-
}
|
|
155
|
-
this.started(() => this.term());
|
|
185
|
+
this.started?.(() => this.term());
|
|
156
186
|
return this;
|
|
157
187
|
}
|
|
158
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,yCAAqC;AACrC,uDAAwC;AAExC,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,iDAA6C;AAC7C,qCAAiC;AACjC,2DAAuD;AAEvD,uCAAmC;AAGtB,QAAA,MAAM,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,CAAA;AAC3B,QAAA,UAAU,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Daemons.js","sourceRoot":"","sources":["../../../../package/lib/mainFn/Daemons.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,6 @@ export declare class HealthDaemon<Manifest extends SDKManifest> {
|
|
|
14
14
|
private readonly daemon;
|
|
15
15
|
private readonly dependencies;
|
|
16
16
|
readonly id: string;
|
|
17
|
-
readonly ids: string[];
|
|
18
17
|
readonly ready: Ready | typeof EXIT_SUCCESS;
|
|
19
18
|
readonly effects: Effects;
|
|
20
19
|
private _health;
|
|
@@ -23,7 +22,7 @@ export declare class HealthDaemon<Manifest extends SDKManifest> {
|
|
|
23
22
|
private started?;
|
|
24
23
|
private resolveReady;
|
|
25
24
|
private readyPromise;
|
|
26
|
-
constructor(daemon: Promise<Daemon<Manifest
|
|
25
|
+
constructor(daemon: Promise<Daemon<Manifest>> | null, dependencies: HealthDaemon<Manifest>[], id: string, ready: Ready | typeof EXIT_SUCCESS, effects: Effects);
|
|
27
26
|
/** Run after we want to do cleanup */
|
|
28
27
|
term(termOptions?: {
|
|
29
28
|
signal?: NodeJS.Signals | undefined;
|