@eggjs/cluster 4.0.0-beta.34 → 4.0.0-beta.36

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 (35) hide show
  1. package/dist/agent_worker.d.ts +1 -1
  2. package/dist/agent_worker.js +50 -65
  3. package/dist/app_worker.d.ts +1 -1
  4. package/dist/app_worker.js +127 -165
  5. package/dist/error/ClusterAgentWorkerError.d.ts +12 -9
  6. package/dist/error/ClusterAgentWorkerError.js +22 -19
  7. package/dist/error/ClusterWorkerExceptionError.d.ts +9 -6
  8. package/dist/error/ClusterWorkerExceptionError.js +17 -14
  9. package/dist/index.d.ts +20 -15
  10. package/dist/index.js +20 -16
  11. package/dist/master.d.ts +89 -86
  12. package/dist/master.js +425 -556
  13. package/dist/utils/messenger.d.ts +93 -89
  14. package/dist/utils/messenger.js +143 -178
  15. package/dist/utils/mode/base/agent.d.ts +42 -35
  16. package/dist/utils/mode/base/agent.js +63 -65
  17. package/dist/utils/mode/base/app.d.ts +53 -45
  18. package/dist/utils/mode/base/app.js +77 -80
  19. package/dist/utils/mode/impl/process/agent.d.ts +20 -16
  20. package/dist/utils/mode/impl/process/agent.js +95 -105
  21. package/dist/utils/mode/impl/process/app.d.ts +23 -19
  22. package/dist/utils/mode/impl/process/app.js +116 -118
  23. package/dist/utils/mode/impl/worker_threads/agent.d.ts +20 -16
  24. package/dist/utils/mode/impl/worker_threads/agent.js +78 -85
  25. package/dist/utils/mode/impl/worker_threads/app.d.ts +28 -24
  26. package/dist/utils/mode/impl/worker_threads/app.js +128 -137
  27. package/dist/utils/options.d.ts +79 -76
  28. package/dist/utils/options.js +55 -80
  29. package/dist/utils/terminate.js +50 -70
  30. package/dist/utils/worker_manager.d.ts +28 -24
  31. package/dist/utils/worker_manager.js +68 -74
  32. package/package.json +33 -34
  33. package/dist/error/index.d.ts +0 -2
  34. package/dist/error/index.js +0 -3
  35. package/dist/utils/terminate.d.ts +0 -6
@@ -1,65 +1,63 @@
1
- import path from 'node:path';
2
- import { existsSync } from 'node:fs';
3
- import { EventEmitter } from 'node:events';
4
- export class BaseAgentWorker {
5
- instance;
6
- #instanceId;
7
- #instanceStatus;
8
- constructor(instance) {
9
- this.instance = instance;
10
- }
11
- get id() {
12
- return this.#instanceId;
13
- }
14
- set id(id) {
15
- this.#instanceId = id;
16
- }
17
- get status() {
18
- return this.#instanceStatus;
19
- }
20
- set status(status) {
21
- this.#instanceStatus = status;
22
- }
23
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
- static send(_message) {
25
- throw new Error('BaseAgentWorker should implement send.');
26
- }
27
- static kill() {
28
- throw new Error('BaseAgentWorker should implement kill.');
29
- }
30
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
- static gracefulExit(_options) {
32
- throw new Error('BaseAgentWorker should implement gracefulExit.');
33
- }
34
- }
35
- export class BaseAgentUtils extends EventEmitter {
36
- options;
37
- messenger;
38
- log;
39
- logger;
40
- // public attrs
41
- startTime = 0;
42
- constructor(options, { log, logger, messenger, }) {
43
- super();
44
- this.options = options;
45
- this.log = log;
46
- this.logger = logger;
47
- this.messenger = messenger;
48
- // this.instance = null;
49
- }
50
- getAgentWorkerFile() {
51
- const srcDirname = path.join(import.meta.dirname, '../../..');
52
- let agentWorkerFile = path.join(srcDirname, 'agent_worker.js');
53
- if (!existsSync(agentWorkerFile)) {
54
- agentWorkerFile = path.join(srcDirname, 'agent_worker.ts');
55
- }
56
- return agentWorkerFile;
57
- }
58
- fork() {
59
- throw new Error('BaseAgent should implement fork.');
60
- }
61
- clean() {
62
- throw new Error('BaseAgent should implement clean.');
63
- }
64
- }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvbW9kZS9iYXNlL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFTM0MsTUFBTSxPQUFnQixlQUFlO0lBQ25DLFFBQVEsQ0FBSTtJQUNaLFdBQVcsQ0FBUztJQUNwQixlQUFlLENBQVM7SUFFeEIsWUFBWSxRQUFXO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFJRCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksRUFBRSxDQUFDLEVBQVU7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFjO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFJRCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFxQjtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJO1FBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUFJRCxNQUFNLE9BQWdCLGNBQWUsU0FBUSxZQUFZO0lBQzdDLE9BQU8sQ0FBZ0I7SUFDdkIsU0FBUyxDQUFZO0lBQ3JCLEdBQUcsQ0FBUztJQUNaLE1BQU0sQ0FBUztJQUN6QixlQUFlO0lBQ2YsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUVkLFlBQ0UsT0FBc0IsRUFDdEIsRUFDRSxHQUFHLEVBQ0gsTUFBTSxFQUNOLFNBQVMsR0FLVjtRQUVELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQix3QkFBd0I7SUFDMUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ2pDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBR0YifQ==
1
+ import { existsSync } from "node:fs";
2
+ import path from "node:path";
3
+ import { EventEmitter } from "node:events";
4
+
5
+ //#region src/utils/mode/base/agent.ts
6
+ var BaseAgentWorker = class {
7
+ instance;
8
+ #instanceId;
9
+ #instanceStatus;
10
+ constructor(instance) {
11
+ this.instance = instance;
12
+ }
13
+ get id() {
14
+ return this.#instanceId;
15
+ }
16
+ set id(id) {
17
+ this.#instanceId = id;
18
+ }
19
+ get status() {
20
+ return this.#instanceStatus;
21
+ }
22
+ set status(status) {
23
+ this.#instanceStatus = status;
24
+ }
25
+ static send(_message) {
26
+ throw new Error("BaseAgentWorker should implement send.");
27
+ }
28
+ static kill() {
29
+ throw new Error("BaseAgentWorker should implement kill.");
30
+ }
31
+ static gracefulExit(_options) {
32
+ throw new Error("BaseAgentWorker should implement gracefulExit.");
33
+ }
34
+ };
35
+ var BaseAgentUtils = class extends EventEmitter {
36
+ options;
37
+ messenger;
38
+ log;
39
+ logger;
40
+ startTime = 0;
41
+ constructor(options, { log, logger, messenger }) {
42
+ super();
43
+ this.options = options;
44
+ this.log = log;
45
+ this.logger = logger;
46
+ this.messenger = messenger;
47
+ }
48
+ getAgentWorkerFile() {
49
+ const srcDirname = path.join(import.meta.dirname, "../../..");
50
+ let agentWorkerFile = path.join(srcDirname, "agent_worker.js");
51
+ if (!existsSync(agentWorkerFile)) agentWorkerFile = path.join(srcDirname, "agent_worker.ts");
52
+ return agentWorkerFile;
53
+ }
54
+ fork() {
55
+ throw new Error("BaseAgent should implement fork.");
56
+ }
57
+ clean() {
58
+ throw new Error("BaseAgent should implement clean.");
59
+ }
60
+ };
61
+
62
+ //#endregion
63
+ export { BaseAgentUtils, BaseAgentWorker };
@@ -1,48 +1,56 @@
1
- import { EventEmitter } from 'node:events';
2
- import type { Worker as ClusterProcessWorker } from 'node:cluster';
3
- import type { Worker as ThreadWorker } from 'node:worker_threads';
4
- import type { Logger } from 'egg-logger';
5
- import type { MessageBody, Messenger } from '../../messenger.ts';
6
- import type { MasterOptions } from '../../../master.ts';
7
- export declare abstract class BaseAppWorker<T = ThreadWorker | ClusterProcessWorker> {
8
- instance: T;
9
- constructor(instance: T);
10
- abstract get workerId(): number;
11
- abstract get id(): number;
12
- get state(): string;
13
- set state(state: string);
14
- abstract get exitedAfterDisconnect(): boolean;
15
- abstract get exitCode(): number;
16
- get disableRefork(): boolean;
17
- set disableRefork(disableRefork: boolean);
18
- get isDevReload(): boolean;
19
- set isDevReload(isDevReload: boolean);
20
- abstract send(data: MessageBody): void;
21
- clean(): void;
22
- static get workerId(): number;
23
- static on(..._args: any[]): void;
24
- static send(_message: MessageBody): void;
25
- static kill(): void;
26
- static gracefulExit(_options: any): void;
1
+ import { MessageBody, Messenger } from "../../messenger.js";
2
+ import { MasterOptions } from "../../../master.js";
3
+ import { Logger } from "egg-logger";
4
+ import { Worker } from "node:worker_threads";
5
+ import { EventEmitter } from "node:events";
6
+ import { Worker as Worker$1 } from "node:cluster";
7
+
8
+ //#region src/utils/mode/base/app.d.ts
9
+ declare abstract class BaseAppWorker<T = Worker | Worker$1> {
10
+ instance: T;
11
+ constructor(instance: T);
12
+ abstract get workerId(): number;
13
+ abstract get id(): number;
14
+ get state(): string;
15
+ set state(state: string);
16
+ abstract get exitedAfterDisconnect(): boolean;
17
+ abstract get exitCode(): number;
18
+ get disableRefork(): boolean;
19
+ set disableRefork(disableRefork: boolean);
20
+ get isDevReload(): boolean;
21
+ set isDevReload(isDevReload: boolean);
22
+ abstract send(data: MessageBody): void;
23
+ clean(): void;
24
+ static get workerId(): number;
25
+ static on(..._args: any[]): void;
26
+ static send(_message: MessageBody): void;
27
+ static kill(): void;
28
+ static gracefulExit(_options: any): void;
27
29
  }
28
30
  type LogFun = (msg: any, ...args: any[]) => void;
29
- export declare abstract class BaseAppUtils extends EventEmitter {
30
- options: MasterOptions;
31
- protected messenger: Messenger;
32
- protected log: LogFun;
33
- protected logger: Logger;
34
- protected isProduction: boolean;
35
- startTime: number;
36
- startSuccessCount: number;
37
- isAllWorkerStarted: boolean;
38
- constructor(options: MasterOptions, { log, logger, messenger, isProduction, }: {
39
- log: LogFun;
40
- logger: Logger;
41
- messenger: Messenger;
42
- isProduction: boolean;
43
- });
44
- getAppWorkerFile(): string;
45
- fork(): void;
46
- abstract kill(timeout: number): Promise<void>;
31
+ declare abstract class BaseAppUtils extends EventEmitter {
32
+ options: MasterOptions;
33
+ protected messenger: Messenger;
34
+ protected log: LogFun;
35
+ protected logger: Logger;
36
+ protected isProduction: boolean;
37
+ startTime: number;
38
+ startSuccessCount: number;
39
+ isAllWorkerStarted: boolean;
40
+ constructor(options: MasterOptions, {
41
+ log,
42
+ logger,
43
+ messenger,
44
+ isProduction
45
+ }: {
46
+ log: LogFun;
47
+ logger: Logger;
48
+ messenger: Messenger;
49
+ isProduction: boolean;
50
+ });
51
+ getAppWorkerFile(): string;
52
+ fork(): void;
53
+ abstract kill(timeout: number): Promise<void>;
47
54
  }
48
- export {};
55
+ //#endregion
56
+ export { BaseAppUtils, BaseAppWorker };
@@ -1,80 +1,77 @@
1
- import path from 'node:path';
2
- import { existsSync } from 'node:fs';
3
- import { EventEmitter } from 'node:events';
4
- export class BaseAppWorker {
5
- instance;
6
- constructor(instance) {
7
- this.instance = instance;
8
- }
9
- get state() {
10
- return Reflect.get(this.instance, 'state');
11
- }
12
- set state(state) {
13
- Reflect.set(this.instance, 'state', state);
14
- }
15
- get disableRefork() {
16
- return Reflect.get(this.instance, 'disableRefork');
17
- }
18
- set disableRefork(disableRefork) {
19
- Reflect.set(this.instance, 'disableRefork', disableRefork);
20
- }
21
- get isDevReload() {
22
- return Reflect.get(this.instance, 'isDevReload');
23
- }
24
- set isDevReload(isDevReload) {
25
- Reflect.set(this.instance, 'isDevReload', isDevReload);
26
- }
27
- clean() {
28
- throw new Error('BaseAppWorker should implement clean.');
29
- }
30
- // static methods use on src/app_worker.ts
31
- static get workerId() {
32
- throw new Error('BaseAppWorker should implement workerId.');
33
- }
34
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
35
- static on(..._args) {
36
- throw new Error('BaseAppWorker should implement on.');
37
- }
38
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
39
- static send(_message) {
40
- throw new Error('BaseAgentWorker should implement send.');
41
- }
42
- static kill() {
43
- throw new Error('BaseAppWorker should implement kill.');
44
- }
45
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
46
- static gracefulExit(_options) {
47
- throw new Error('BaseAgentWorker should implement gracefulExit.');
48
- }
49
- }
50
- export class BaseAppUtils extends EventEmitter {
51
- options;
52
- messenger;
53
- log;
54
- logger;
55
- isProduction;
56
- // public attrs
57
- startTime = 0;
58
- startSuccessCount = 0;
59
- isAllWorkerStarted = false;
60
- constructor(options, { log, logger, messenger, isProduction, }) {
61
- super();
62
- this.options = options;
63
- this.log = log;
64
- this.logger = logger;
65
- this.messenger = messenger;
66
- this.isProduction = isProduction;
67
- }
68
- getAppWorkerFile() {
69
- const srcDirname = path.join(import.meta.dirname, '../../..');
70
- let appWorkerFile = path.join(srcDirname, 'app_worker.js');
71
- if (!existsSync(appWorkerFile)) {
72
- appWorkerFile = path.join(srcDirname, 'app_worker.ts');
73
- }
74
- return appWorkerFile;
75
- }
76
- fork() {
77
- throw new Error('BaseApp should implement fork.');
78
- }
79
- }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL21vZGUvYmFzZS9hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVMzQyxNQUFNLE9BQWdCLGFBQWE7SUFDakMsUUFBUSxDQUFJO0lBRVosWUFBWSxRQUFXO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFNRCxJQUFJLEtBQUs7UUFDUCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVMsRUFBRSxPQUFPLENBQVcsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxJQUFJLGFBQWE7UUFDZixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVMsRUFBRSxlQUFlLENBQVksQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsYUFBc0I7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFTLEVBQUUsYUFBYSxDQUFZLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLFdBQW9CO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVMsRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUlELEtBQUs7UUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELDBDQUEwQztJQUUxQyxNQUFNLEtBQUssUUFBUTtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBWTtRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQXFCO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWE7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRjtBQUlELE1BQU0sT0FBZ0IsWUFBYSxTQUFRLFlBQVk7SUFDckQsT0FBTyxDQUFnQjtJQUNiLFNBQVMsQ0FBWTtJQUNyQixHQUFHLENBQVM7SUFDWixNQUFNLENBQVM7SUFDZixZQUFZLENBQVU7SUFDaEMsZUFBZTtJQUNmLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFDdEIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBRTNCLFlBQ0UsT0FBc0IsRUFDdEIsRUFDRSxHQUFHLEVBQ0gsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEdBTWI7UUFFRCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUQsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQy9CLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUdGIn0=
1
+ import { existsSync } from "node:fs";
2
+ import path from "node:path";
3
+ import { EventEmitter } from "node:events";
4
+
5
+ //#region src/utils/mode/base/app.ts
6
+ var BaseAppWorker = class {
7
+ instance;
8
+ constructor(instance) {
9
+ this.instance = instance;
10
+ }
11
+ get state() {
12
+ return Reflect.get(this.instance, "state");
13
+ }
14
+ set state(state) {
15
+ Reflect.set(this.instance, "state", state);
16
+ }
17
+ get disableRefork() {
18
+ return Reflect.get(this.instance, "disableRefork");
19
+ }
20
+ set disableRefork(disableRefork) {
21
+ Reflect.set(this.instance, "disableRefork", disableRefork);
22
+ }
23
+ get isDevReload() {
24
+ return Reflect.get(this.instance, "isDevReload");
25
+ }
26
+ set isDevReload(isDevReload) {
27
+ Reflect.set(this.instance, "isDevReload", isDevReload);
28
+ }
29
+ clean() {
30
+ throw new Error("BaseAppWorker should implement clean.");
31
+ }
32
+ static get workerId() {
33
+ throw new Error("BaseAppWorker should implement workerId.");
34
+ }
35
+ static on(..._args) {
36
+ throw new Error("BaseAppWorker should implement on.");
37
+ }
38
+ static send(_message) {
39
+ throw new Error("BaseAgentWorker should implement send.");
40
+ }
41
+ static kill() {
42
+ throw new Error("BaseAppWorker should implement kill.");
43
+ }
44
+ static gracefulExit(_options) {
45
+ throw new Error("BaseAgentWorker should implement gracefulExit.");
46
+ }
47
+ };
48
+ var BaseAppUtils = class extends EventEmitter {
49
+ options;
50
+ messenger;
51
+ log;
52
+ logger;
53
+ isProduction;
54
+ startTime = 0;
55
+ startSuccessCount = 0;
56
+ isAllWorkerStarted = false;
57
+ constructor(options, { log, logger, messenger, isProduction }) {
58
+ super();
59
+ this.options = options;
60
+ this.log = log;
61
+ this.logger = logger;
62
+ this.messenger = messenger;
63
+ this.isProduction = isProduction;
64
+ }
65
+ getAppWorkerFile() {
66
+ const srcDirname = path.join(import.meta.dirname, "../../..");
67
+ let appWorkerFile = path.join(srcDirname, "app_worker.js");
68
+ if (!existsSync(appWorkerFile)) appWorkerFile = path.join(srcDirname, "app_worker.ts");
69
+ return appWorkerFile;
70
+ }
71
+ fork() {
72
+ throw new Error("BaseApp should implement fork.");
73
+ }
74
+ };
75
+
76
+ //#endregion
77
+ export { BaseAppUtils, BaseAppWorker };
@@ -1,18 +1,22 @@
1
- import { type ChildProcess } from 'node:child_process';
2
- import { type Options as gracefulExitOptions } from 'graceful-process';
3
- import { BaseAgentWorker, BaseAgentUtils } from '../../base/agent.ts';
4
- import type { MessageBody } from '../../../messenger.ts';
5
- export declare class AgentProcessWorker extends BaseAgentWorker<ChildProcess> {
6
- get workerId(): number;
7
- send(message: MessageBody): void;
8
- static send(message: MessageBody): void;
9
- static kill(): void;
10
- static gracefulExit(options: gracefulExitOptions): void;
1
+ import { BaseAgentUtils, BaseAgentWorker } from "../../base/agent.js";
2
+ import { MessageBody } from "../../../messenger.js";
3
+ import { ChildProcess } from "node:child_process";
4
+ import { Options } from "graceful-process";
5
+
6
+ //#region src/utils/mode/impl/process/agent.d.ts
7
+ declare class AgentProcessWorker extends BaseAgentWorker<ChildProcess> {
8
+ get workerId(): number;
9
+ send(message: MessageBody): void;
10
+ static send(message: MessageBody): void;
11
+ static kill(): void;
12
+ static gracefulExit(options: Options): void;
11
13
  }
12
- export declare class AgentProcessUtils extends BaseAgentUtils {
13
- #private;
14
- instance: AgentProcessWorker;
15
- fork(): this;
16
- clean(): void;
17
- kill(timeout: number): Promise<void>;
14
+ declare class AgentProcessUtils extends BaseAgentUtils {
15
+ #private;
16
+ instance: AgentProcessWorker;
17
+ fork(): this;
18
+ clean(): void;
19
+ kill(timeout: number): Promise<void>;
18
20
  }
21
+ //#endregion
22
+ export { AgentProcessUtils };