@eggjs/cluster 4.0.0-beta.19 → 4.0.0-beta.21
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/agent_worker.d.ts +1 -1
- package/dist/agent_worker.js +63 -50
- package/dist/app_worker.d.ts +1 -1
- package/dist/app_worker.js +165 -127
- package/dist/dirname.d.ts +1 -0
- package/dist/dirname.js +10 -10
- package/dist/error/ClusterAgentWorkerError.d.ts +9 -12
- package/dist/error/ClusterAgentWorkerError.js +19 -22
- package/dist/error/ClusterWorkerExceptionError.d.ts +6 -9
- package/dist/error/ClusterWorkerExceptionError.js +14 -17
- package/dist/error/index.d.ts +2 -0
- package/dist/error/index.js +3 -0
- package/dist/index.d.ts +5 -10
- package/dist/index.js +16 -20
- package/dist/master.d.ts +86 -92
- package/dist/master.js +543 -416
- package/dist/utils/messenger.d.ts +44 -48
- package/dist/utils/messenger.js +178 -143
- package/dist/utils/mode/base/agent.d.ts +35 -42
- package/dist/utils/mode/base/agent.js +64 -62
- package/dist/utils/mode/base/app.d.ts +45 -53
- package/dist/utils/mode/base/app.js +79 -76
- package/dist/utils/mode/impl/process/agent.d.ts +16 -20
- package/dist/utils/mode/impl/process/agent.js +101 -91
- package/dist/utils/mode/impl/process/app.d.ts +20 -11
- package/dist/utils/mode/impl/process/app.js +118 -116
- package/dist/utils/mode/impl/worker_threads/agent.d.ts +16 -20
- package/dist/utils/mode/impl/worker_threads/agent.js +82 -77
- package/dist/utils/mode/impl/worker_threads/app.d.ts +25 -12
- package/dist/utils/mode/impl/worker_threads/app.js +137 -128
- package/dist/utils/options.d.ts +76 -79
- package/dist/utils/options.js +80 -55
- package/dist/utils/terminate.d.ts +6 -0
- package/dist/utils/terminate.js +70 -51
- package/dist/utils/worker_manager.d.ts +24 -31
- package/dist/utils/worker_manager.js +74 -68
- package/package.json +6 -6
package/dist/agent_worker.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {};
|
package/dist/agent_worker.js
CHANGED
|
@@ -1,55 +1,68 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import { EggConsoleLogger as ConsoleLogger } from 'egg-logger';
|
|
3
|
+
import { importModule } from '@eggjs/utils';
|
|
4
|
+
import { BaseAgentWorker } from "./utils/mode/base/agent.js";
|
|
2
5
|
import { AgentThreadWorker } from "./utils/mode/impl/worker_threads/agent.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { importModule } from "@eggjs/utils";
|
|
6
|
-
|
|
7
|
-
//#region src/agent_worker.ts
|
|
8
|
-
const debug = debuglog("egg/cluster/agent_worker");
|
|
6
|
+
import { AgentProcessWorker } from "./utils/mode/impl/process/agent.js";
|
|
7
|
+
const debug = debuglog('egg/cluster/agent_worker');
|
|
9
8
|
/**
|
|
10
|
-
* agent worker is child_process forked by master.
|
|
11
|
-
*
|
|
12
|
-
* agent worker only exit in two cases:
|
|
13
|
-
* - receive signal SIGTERM, exit code 0 (exit gracefully)
|
|
14
|
-
* - receive disconnect event, exit code 110 (maybe master exit in accident)
|
|
15
|
-
*/
|
|
9
|
+
* agent worker is child_process forked by master.
|
|
10
|
+
*
|
|
11
|
+
* agent worker only exit in two cases:
|
|
12
|
+
* - receive signal SIGTERM, exit code 0 (exit gracefully)
|
|
13
|
+
* - receive disconnect event, exit code 110 (maybe master exit in accident)
|
|
14
|
+
*/
|
|
16
15
|
async function main() {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
16
|
+
// $ node agent_worker.js options
|
|
17
|
+
const options = JSON.parse(process.argv[2]);
|
|
18
|
+
if (options.require) {
|
|
19
|
+
// inject
|
|
20
|
+
for (const mod of options.require) {
|
|
21
|
+
await importModule(mod, {
|
|
22
|
+
paths: [options.baseDir],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
let AgentWorker;
|
|
27
|
+
if (options.startMode === 'worker_threads') {
|
|
28
|
+
AgentWorker = AgentThreadWorker;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
AgentWorker = AgentProcessWorker;
|
|
32
|
+
}
|
|
33
|
+
const consoleLogger = new ConsoleLogger({ level: process.env.EGG_AGENT_WORKER_LOGGER_LEVEL });
|
|
34
|
+
const { Agent } = await importModule(options.framework, {
|
|
35
|
+
paths: [options.baseDir],
|
|
36
|
+
});
|
|
37
|
+
debug('new Agent with options %j', options);
|
|
38
|
+
let agent;
|
|
39
|
+
try {
|
|
40
|
+
agent = new Agent(options);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
consoleLogger.error(err);
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
function startErrorHandler(err) {
|
|
47
|
+
consoleLogger.error(err);
|
|
48
|
+
consoleLogger.error('[agent_worker] start error, exiting with code:1');
|
|
49
|
+
AgentWorker.kill();
|
|
50
|
+
}
|
|
51
|
+
agent.ready((err) => {
|
|
52
|
+
// don't send started message to master when start error
|
|
53
|
+
if (err) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
agent.removeListener('error', startErrorHandler);
|
|
57
|
+
AgentWorker.send({ action: 'agent-start', to: 'master' });
|
|
58
|
+
});
|
|
59
|
+
// exit if agent start error
|
|
60
|
+
agent.once('error', startErrorHandler);
|
|
61
|
+
AgentWorker.gracefulExit({
|
|
62
|
+
logger: consoleLogger,
|
|
63
|
+
label: 'agent_worker',
|
|
64
|
+
beforeExit: () => agent.close(),
|
|
65
|
+
});
|
|
51
66
|
}
|
|
52
67
|
main();
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
export { };
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnRfd29ya2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FnZW50X3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFeEUsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFFbkQ7Ozs7OztHQU1HO0FBQ0gsS0FBSyxVQUFVLElBQUk7SUFDakIsaUNBQWlDO0lBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FLekMsQ0FBQztJQUNGLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLFNBQVM7UUFDVCxLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFlBQVksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RCLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFdBQW1DLENBQUM7SUFDeEMsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsV0FBVyxHQUFHLGlCQUF3QixDQUFDO0lBQ3pDLENBQUM7U0FBTSxDQUFDO1FBQ04sV0FBVyxHQUFHLGtCQUF5QixDQUFDO0lBQzFDLENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQztJQUM5RixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtRQUN0RCxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0tBQ3pCLENBQUMsQ0FBQztJQUNILEtBQUssQ0FBQywyQkFBMkIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLEtBQVUsQ0FBQztJQUNmLElBQUksQ0FBQztRQUNILEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsTUFBTSxHQUFHLENBQUM7SUFDWixDQUFDO0lBRUQsU0FBUyxpQkFBaUIsQ0FBQyxHQUFVO1FBQ25DLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsYUFBYSxDQUFDLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ3ZFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQzFCLHdEQUF3RDtRQUN4RCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsT0FBTztRQUNULENBQUM7UUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pELFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsNEJBQTRCO0lBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFFdkMsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUN2QixNQUFNLEVBQUUsYUFBYTtRQUNyQixLQUFLLEVBQUUsY0FBYztRQUNyQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtLQUNoQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMifQ==
|
package/dist/app_worker.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {};
|
package/dist/app_worker.js
CHANGED
|
@@ -1,131 +1,169 @@
|
|
|
1
|
-
import
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { createServer as createHttpServer } from 'node:http';
|
|
3
|
+
import { createServer as createHttpsServer } from 'node:https';
|
|
4
|
+
import { debuglog } from 'node:util';
|
|
5
|
+
import { EggConsoleLogger as ConsoleLogger } from 'egg-logger';
|
|
6
|
+
import { importModule } from '@eggjs/utils';
|
|
7
|
+
import { BaseAppWorker } from "./utils/mode/base/app.js";
|
|
2
8
|
import { AppThreadWorker } from "./utils/mode/impl/worker_threads/app.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { EggConsoleLogger } from "egg-logger";
|
|
6
|
-
import { importModule } from "@eggjs/utils";
|
|
7
|
-
import { createServer } from "node:http";
|
|
8
|
-
import { createServer as createServer$1 } from "node:https";
|
|
9
|
-
|
|
10
|
-
//#region src/app_worker.ts
|
|
11
|
-
const debug = debuglog("egg/cluster/app_worker");
|
|
9
|
+
import { AppProcessWorker } from "./utils/mode/impl/process/app.js";
|
|
10
|
+
const debug = debuglog('egg/cluster/app_worker');
|
|
12
11
|
async function main() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
12
|
+
// $ node app_worker.js options-json-string
|
|
13
|
+
const options = JSON.parse(process.argv[2]);
|
|
14
|
+
if (options.require) {
|
|
15
|
+
// inject
|
|
16
|
+
for (const mod of options.require) {
|
|
17
|
+
await importModule(mod, {
|
|
18
|
+
paths: [options.baseDir],
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
let AppWorker;
|
|
23
|
+
if (options.startMode === 'worker_threads') {
|
|
24
|
+
AppWorker = AppThreadWorker;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
AppWorker = AppProcessWorker;
|
|
28
|
+
}
|
|
29
|
+
const consoleLogger = new ConsoleLogger({
|
|
30
|
+
level: process.env.EGG_APP_WORKER_LOGGER_LEVEL,
|
|
31
|
+
});
|
|
32
|
+
const { Application } = await importModule(options.framework, {
|
|
33
|
+
paths: [options.baseDir],
|
|
34
|
+
});
|
|
35
|
+
debug('[app_worker:%s] new Application with options %j', process.pid, options);
|
|
36
|
+
let app;
|
|
37
|
+
try {
|
|
38
|
+
app = new Application(options);
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
consoleLogger.error(err);
|
|
42
|
+
throw err;
|
|
43
|
+
}
|
|
44
|
+
app.ready(startServer);
|
|
45
|
+
function exitProcess() {
|
|
46
|
+
// Use SIGTERM kill process, ensure trigger the gracefulExit
|
|
47
|
+
AppWorker.kill();
|
|
48
|
+
}
|
|
49
|
+
// exit if worker start timeout
|
|
50
|
+
app.once('startTimeout', startTimeoutHandler);
|
|
51
|
+
function startTimeoutHandler() {
|
|
52
|
+
consoleLogger.error('[app_worker] start timeout, exiting with code:1');
|
|
53
|
+
exitProcess();
|
|
54
|
+
}
|
|
55
|
+
function startServer(err) {
|
|
56
|
+
if (err) {
|
|
57
|
+
consoleLogger.error(err);
|
|
58
|
+
consoleLogger.error('[app_worker] start error, exiting with code:1');
|
|
59
|
+
exitProcess();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const clusterConfig = app.config.cluster ?? {};
|
|
63
|
+
const listenConfig = clusterConfig.listen ?? {};
|
|
64
|
+
const httpsOptions = {
|
|
65
|
+
...clusterConfig.https,
|
|
66
|
+
...options.https,
|
|
67
|
+
};
|
|
68
|
+
const port = (app.options.port = options.port || listenConfig.port);
|
|
69
|
+
const debugPort = options.debugPort;
|
|
70
|
+
const protocol = httpsOptions.key && httpsOptions.cert ? 'https' : 'http';
|
|
71
|
+
debug('[app_worker:%s] listenConfig: %j, real port: %o, protocol: %o, debugPort: %o', process.pid, listenConfig, port, protocol, debugPort);
|
|
72
|
+
AppWorker.send({
|
|
73
|
+
to: 'master',
|
|
74
|
+
action: 'realport',
|
|
75
|
+
data: {
|
|
76
|
+
port,
|
|
77
|
+
protocol,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
app.removeListener('startTimeout', startTimeoutHandler);
|
|
81
|
+
let server;
|
|
82
|
+
let debugPortServer;
|
|
83
|
+
// https config
|
|
84
|
+
if (protocol === 'https') {
|
|
85
|
+
httpsOptions.key = fs.readFileSync(httpsOptions.key);
|
|
86
|
+
httpsOptions.cert = fs.readFileSync(httpsOptions.cert);
|
|
87
|
+
httpsOptions.ca = httpsOptions.ca && fs.readFileSync(httpsOptions.ca);
|
|
88
|
+
server = createHttpsServer(httpsOptions, app.callback());
|
|
89
|
+
if (debugPort) {
|
|
90
|
+
debugPortServer = createHttpServer(app.callback());
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
server = createHttpServer(app.callback());
|
|
95
|
+
if (debugPort) {
|
|
96
|
+
debugPortServer = server;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
server.once('error', (err) => {
|
|
100
|
+
consoleLogger.error('[app_worker] server got error: %s, code: %s', err.message, err.code);
|
|
101
|
+
exitProcess();
|
|
102
|
+
});
|
|
103
|
+
// emit `server` event in app
|
|
104
|
+
app.emit('server', server);
|
|
105
|
+
if (options.sticky && options.stickyWorkerPort) {
|
|
106
|
+
// only allow connection from localhost
|
|
107
|
+
server.listen(options.stickyWorkerPort, '127.0.0.1');
|
|
108
|
+
// Listen to messages was sent from the master. Ignore everything else.
|
|
109
|
+
AppWorker.on('message', (message, connection) => {
|
|
110
|
+
if (message !== 'sticky-session:connection') {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// Emulate a connection event on the server by emitting the
|
|
114
|
+
// event with the connection the master sent us.
|
|
115
|
+
server.emit('connection', connection);
|
|
116
|
+
connection.resume();
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
if (listenConfig.path) {
|
|
121
|
+
server.listen(listenConfig.path);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
if (typeof port !== 'number') {
|
|
125
|
+
consoleLogger.error('[app_worker:%s] port should be number, but got %s(%s)', process.pid, port, typeof port);
|
|
126
|
+
exitProcess();
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const args = [port];
|
|
130
|
+
if (listenConfig.hostname) {
|
|
131
|
+
args.push(listenConfig.hostname);
|
|
132
|
+
}
|
|
133
|
+
debug('listen options %j', args);
|
|
134
|
+
server.listen(...args);
|
|
135
|
+
}
|
|
136
|
+
if (debugPortServer) {
|
|
137
|
+
debug('listen on debug port: %s', debugPort);
|
|
138
|
+
debugPortServer.listen(debugPort);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
server.once('listening', () => {
|
|
142
|
+
let address = server.address() || { port };
|
|
143
|
+
if (typeof address === 'string') {
|
|
144
|
+
// https://nodejs.org/api/cluster.html#cluster_event_listening_1
|
|
145
|
+
// Unix domain socket
|
|
146
|
+
address = {
|
|
147
|
+
address,
|
|
148
|
+
addressType: -1,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
debug('[app_worker:%s] listening at %j', process.pid, address);
|
|
152
|
+
AppWorker.send({
|
|
153
|
+
to: 'master',
|
|
154
|
+
action: 'app-start',
|
|
155
|
+
data: {
|
|
156
|
+
address,
|
|
157
|
+
workerId: AppWorker.workerId,
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
AppWorker.gracefulExit({
|
|
163
|
+
logger: consoleLogger,
|
|
164
|
+
label: 'app_worker',
|
|
165
|
+
beforeExit: () => app.close(),
|
|
166
|
+
});
|
|
127
167
|
}
|
|
128
168
|
main();
|
|
129
|
-
|
|
130
|
-
//#endregion
|
|
131
|
-
export { };
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwX3dvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBfd29ya2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFlLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLElBQUksaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUVqRCxLQUFLLFVBQVUsSUFBSTtJQUNqQiwyQ0FBMkM7SUFDM0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQVV6QyxDQUFDO0lBQ0YsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsU0FBUztRQUNULEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRTtnQkFDdEIsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQzthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBK0IsQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getSrcDirname(): string;
|
package/dist/dirname.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
export function getSrcDirname() {
|
|
4
|
+
if (typeof __dirname !== 'undefined') {
|
|
5
|
+
return __dirname;
|
|
6
|
+
}
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
return path.dirname(fileURLToPath(import.meta.url));
|
|
8
10
|
}
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
export { getSrcDirname };
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlybmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJuYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE1BQU0sVUFBVSxhQUFhO0lBQzNCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELDZEQUE2RDtJQUM3RCxhQUFhO0lBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyJ9
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
constructor(id: number, workerId: number, status: string, error: Error);
|
|
1
|
+
export declare class ClusterAgentWorkerError extends Error {
|
|
2
|
+
id: number;
|
|
3
|
+
/**
|
|
4
|
+
* pid in process mode
|
|
5
|
+
* tid in worker_threads mode
|
|
6
|
+
*/
|
|
7
|
+
workerId: number;
|
|
8
|
+
status: string;
|
|
9
|
+
constructor(id: number, workerId: number, status: string, error: Error);
|
|
11
10
|
}
|
|
12
|
-
//#endregion
|
|
13
|
-
export { ClusterAgentWorkerError };
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
//#endregion
|
|
22
|
-
export { ClusterAgentWorkerError };
|
|
1
|
+
export class ClusterAgentWorkerError extends Error {
|
|
2
|
+
id;
|
|
3
|
+
/**
|
|
4
|
+
* pid in process mode
|
|
5
|
+
* tid in worker_threads mode
|
|
6
|
+
*/
|
|
7
|
+
workerId;
|
|
8
|
+
status;
|
|
9
|
+
constructor(id, workerId, status, error) {
|
|
10
|
+
const message = `Got agent worker error: ${error.message}`;
|
|
11
|
+
super(message, { cause: error });
|
|
12
|
+
this.name = this.constructor.name;
|
|
13
|
+
this.id = id;
|
|
14
|
+
this.workerId = workerId;
|
|
15
|
+
this.status = status;
|
|
16
|
+
Error.captureStackTrace(this, this.constructor);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2x1c3RlckFnZW50V29ya2VyRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3IvQ2x1c3RlckFnZW50V29ya2VyRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsRUFBRSxDQUFTO0lBQ1g7OztPQUdHO0lBQ0gsUUFBUSxDQUFTO0lBQ2pCLE1BQU0sQ0FBUztJQUVmLFlBQVksRUFBVSxFQUFFLFFBQWdCLEVBQUUsTUFBYyxFQUFFLEtBQVk7UUFDcEUsTUFBTSxPQUFPLEdBQUcsMkJBQTJCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzRCxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiJ9
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(agent: number, worker: number);
|
|
1
|
+
export declare class ClusterWorkerExceptionError extends Error {
|
|
2
|
+
count: {
|
|
3
|
+
agent: number;
|
|
4
|
+
worker: number;
|
|
5
|
+
};
|
|
6
|
+
constructor(agent: number, worker: number);
|
|
8
7
|
}
|
|
9
|
-
//#endregion
|
|
10
|
-
export { ClusterWorkerExceptionError };
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
//#endregion
|
|
17
|
-
export { ClusterWorkerExceptionError };
|
|
1
|
+
export class ClusterWorkerExceptionError extends Error {
|
|
2
|
+
count;
|
|
3
|
+
constructor(agent, worker) {
|
|
4
|
+
const message = `[master] ${agent} agent and ${worker} worker(s) alive, exit to avoid unknown state`;
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = this.constructor.name;
|
|
7
|
+
this.count = {
|
|
8
|
+
agent,
|
|
9
|
+
worker,
|
|
10
|
+
};
|
|
11
|
+
Error.captureStackTrace(this, this.constructor);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2x1c3RlcldvcmtlckV4Y2VwdGlvbkVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9yL0NsdXN0ZXJXb3JrZXJFeGNlcHRpb25FcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsS0FBSztJQUNwRCxLQUFLLENBR0g7SUFFRixZQUFZLEtBQWEsRUFBRSxNQUFjO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLFlBQVksS0FBSyxjQUFjLE1BQU0sK0NBQStDLENBQUM7UUFDckcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsS0FBSztZQUNMLE1BQU07U0FDUCxDQUFDO1FBQ0YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./ClusterAgentWorkerError.js";
|
|
2
|
+
export * from "./ClusterWorkerExceptionError.js";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtDQUFrQyxDQUFDIn0=
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ClusterAgentWorkerError } from "./error/ClusterAgentWorkerError.js";
|
|
4
|
-
import { ClusterWorkerExceptionError } from "./error/ClusterWorkerExceptionError.js";
|
|
5
|
-
|
|
6
|
-
//#region src/index.d.ts
|
|
7
|
-
|
|
1
|
+
import { Master, type MasterOptions } from './master.ts';
|
|
2
|
+
import { type ClusterOptions, type ClusterHTTPSSecureOptions, type ClusterStartMode } from './utils/options.ts';
|
|
8
3
|
/**
|
|
9
4
|
* cluster start flow:
|
|
10
5
|
*
|
|
@@ -17,6 +12,6 @@ import { ClusterWorkerExceptionError } from "./error/ClusterWorkerExceptionError
|
|
|
17
12
|
* @function Egg#startCluster
|
|
18
13
|
* @param {Object} options {@link Master}
|
|
19
14
|
*/
|
|
20
|
-
declare function startCluster(options: ClusterOptions): Promise<void>;
|
|
21
|
-
|
|
22
|
-
export
|
|
15
|
+
export declare function startCluster(options: ClusterOptions): Promise<void>;
|
|
16
|
+
export { Master, type MasterOptions, type ClusterOptions, type ClusterHTTPSSecureOptions, type ClusterStartMode };
|
|
17
|
+
export * from './error/index.ts';
|