@eggjs/cluster 4.0.0-beta.20 → 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 +64 -51
- package/dist/app_worker.d.ts +1 -1
- package/dist/app_worker.js +166 -128
- package/dist/dirname.d.ts +1 -0
- package/dist/dirname.js +11 -0
- package/dist/error/ClusterAgentWorkerError.d.ts +10 -0
- package/dist/error/ClusterAgentWorkerError.js +19 -0
- package/dist/error/ClusterWorkerExceptionError.d.ts +7 -0
- package/dist/error/ClusterWorkerExceptionError.js +14 -0
- package/dist/error/index.d.ts +2 -0
- package/dist/error/index.js +3 -0
- package/dist/index.d.ts +5 -445
- package/dist/index.js +17 -709
- package/dist/master.d.ts +90 -0
- package/dist/master.js +553 -0
- package/dist/utils/messenger.d.ts +92 -0
- package/dist/utils/messenger.js +179 -0
- package/dist/utils/mode/base/agent.d.ts +38 -0
- package/dist/utils/mode/base/agent.js +65 -0
- package/dist/utils/mode/base/app.d.ts +48 -0
- package/dist/utils/mode/base/app.js +80 -0
- package/dist/utils/mode/impl/process/agent.d.ts +18 -0
- package/dist/utils/mode/impl/process/agent.js +103 -0
- package/dist/utils/mode/impl/process/app.d.ts +21 -0
- package/dist/utils/mode/impl/process/app.js +119 -0
- package/dist/utils/mode/impl/worker_threads/agent.d.ts +18 -0
- package/dist/utils/mode/impl/worker_threads/agent.js +84 -0
- package/dist/utils/mode/impl/worker_threads/app.d.ts +26 -0
- package/dist/utils/mode/impl/worker_threads/app.js +137 -0
- package/dist/utils/options.d.ts +80 -0
- package/dist/utils/options.js +81 -0
- package/dist/utils/terminate.d.ts +6 -0
- package/dist/utils/terminate.js +81 -0
- package/dist/utils/worker_manager.d.ts +25 -0
- package/dist/utils/worker_manager.js +74 -0
- package/package.json +6 -6
- package/dist/agent-griHEaCW.js +0 -246
- package/dist/app-5Was1vub.js +0 -315
- package/dist/terminate-w3g0oQgq.js +0 -71
package/dist/index.d.ts
CHANGED
|
@@ -1,445 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { SecureContextOptions } from "node:tls";
|
|
4
|
-
import { EventEmitter } from "node:events";
|
|
5
|
-
import { Worker } from "node:worker_threads";
|
|
6
|
-
import { ChildProcess } from "node:child_process";
|
|
7
|
-
import { Options } from "graceful-process";
|
|
8
|
-
import { Worker as Worker$1 } from "node:cluster";
|
|
9
|
-
import * as worker_threads0 from "worker_threads";
|
|
10
|
-
import * as cluster0 from "cluster";
|
|
11
|
-
import * as child_process0 from "child_process";
|
|
12
|
-
|
|
13
|
-
//#region src/utils/mode/base/agent.d.ts
|
|
14
|
-
declare abstract class BaseAgentWorker<T = ChildProcess | Worker> {
|
|
15
|
-
#private;
|
|
16
|
-
instance: T;
|
|
17
|
-
constructor(instance: T);
|
|
18
|
-
abstract get workerId(): number;
|
|
19
|
-
get id(): number;
|
|
20
|
-
set id(id: number);
|
|
21
|
-
get status(): string;
|
|
22
|
-
set status(status: string);
|
|
23
|
-
abstract send(message: MessageBody): void;
|
|
24
|
-
static send(_message: MessageBody): void;
|
|
25
|
-
static kill(): void;
|
|
26
|
-
static gracefulExit(_options: any): void;
|
|
27
|
-
}
|
|
28
|
-
type LogFun$1 = (msg: any, ...args: any[]) => void;
|
|
29
|
-
declare abstract class BaseAgentUtils extends EventEmitter {
|
|
30
|
-
protected options: MasterOptions;
|
|
31
|
-
protected messenger: Messenger;
|
|
32
|
-
protected log: LogFun$1;
|
|
33
|
-
protected logger: Logger;
|
|
34
|
-
startTime: number;
|
|
35
|
-
constructor(options: MasterOptions, {
|
|
36
|
-
log,
|
|
37
|
-
logger,
|
|
38
|
-
messenger
|
|
39
|
-
}: {
|
|
40
|
-
log: LogFun$1;
|
|
41
|
-
logger: Logger;
|
|
42
|
-
messenger: Messenger;
|
|
43
|
-
});
|
|
44
|
-
getAgentWorkerFile(): string;
|
|
45
|
-
fork(): void;
|
|
46
|
-
clean(): void;
|
|
47
|
-
abstract kill(timeout: number): Promise<void>;
|
|
48
|
-
}
|
|
49
|
-
//#endregion
|
|
50
|
-
//#region src/utils/worker_manager.d.ts
|
|
51
|
-
declare class WorkerManager extends EventEmitter {
|
|
52
|
-
agent: BaseAgentWorker | null;
|
|
53
|
-
workers: Map<number, BaseAppWorker<worker_threads0.Worker | cluster0.Worker>>;
|
|
54
|
-
exception: number;
|
|
55
|
-
timer: NodeJS.Timeout;
|
|
56
|
-
constructor();
|
|
57
|
-
getWorkers(): number[];
|
|
58
|
-
setAgent(agent: BaseAgentWorker): void;
|
|
59
|
-
getAgent(): BaseAgentWorker<worker_threads0.Worker | child_process0.ChildProcess> | null;
|
|
60
|
-
deleteAgent(): void;
|
|
61
|
-
setWorker(worker: BaseAppWorker): void;
|
|
62
|
-
getWorker(workerId: number): BaseAppWorker<worker_threads0.Worker | cluster0.Worker> | undefined;
|
|
63
|
-
deleteWorker(workerId: number): void;
|
|
64
|
-
listWorkerIds(): number[];
|
|
65
|
-
listWorkers(): BaseAppWorker<worker_threads0.Worker | cluster0.Worker>[];
|
|
66
|
-
getListeningWorkerIds(): number[];
|
|
67
|
-
count(): {
|
|
68
|
-
agent: number;
|
|
69
|
-
worker: number;
|
|
70
|
-
};
|
|
71
|
-
startCheck(): void;
|
|
72
|
-
}
|
|
73
|
-
//#endregion
|
|
74
|
-
//#region src/utils/messenger.d.ts
|
|
75
|
-
type MessageCharacter = 'agent' | 'app' | 'master' | 'parent';
|
|
76
|
-
interface MessageBody {
|
|
77
|
-
action: string;
|
|
78
|
-
data?: unknown;
|
|
79
|
-
to?: MessageCharacter;
|
|
80
|
-
from?: MessageCharacter;
|
|
81
|
-
/**
|
|
82
|
-
* @deprecated Keep compatible, please use receiverWorkerId instead
|
|
83
|
-
*/
|
|
84
|
-
receiverPid?: string;
|
|
85
|
-
receiverWorkerId?: string;
|
|
86
|
-
senderWorkerId?: string;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* master messenger, provide communication between parent, master, agent and app.
|
|
90
|
-
*
|
|
91
|
-
* ┌────────┐
|
|
92
|
-
* │ parent │
|
|
93
|
-
* /└────────┘\
|
|
94
|
-
* / | \
|
|
95
|
-
* / ┌────────┐ \
|
|
96
|
-
* / │ master │ \
|
|
97
|
-
* / └────────┘ \
|
|
98
|
-
* / / \ \
|
|
99
|
-
* ┌───────┐ ┌───────┐
|
|
100
|
-
* │ agent │ ------- │ app │
|
|
101
|
-
* └───────┘ └───────┘
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* in app worker
|
|
105
|
-
*
|
|
106
|
-
* ```js
|
|
107
|
-
* process.send({
|
|
108
|
-
* action: 'xxx',
|
|
109
|
-
* data: '',
|
|
110
|
-
* to: 'agent/master/parent', // default to agent
|
|
111
|
-
* });
|
|
112
|
-
* ```
|
|
113
|
-
*
|
|
114
|
-
* in agent worker
|
|
115
|
-
*
|
|
116
|
-
* ```js
|
|
117
|
-
* process.send({
|
|
118
|
-
* action: 'xxx',
|
|
119
|
-
* data: '',
|
|
120
|
-
* to: 'app/master/parent', // default to app
|
|
121
|
-
* });
|
|
122
|
-
* ```
|
|
123
|
-
*
|
|
124
|
-
* in parent
|
|
125
|
-
*
|
|
126
|
-
* ```js
|
|
127
|
-
* process.send({
|
|
128
|
-
* action: 'xxx',
|
|
129
|
-
* data: '',
|
|
130
|
-
* to: 'app/agent/master', // default to master
|
|
131
|
-
* });
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
declare class Messenger {
|
|
135
|
-
#private;
|
|
136
|
-
constructor(master: Master, workerManager: WorkerManager);
|
|
137
|
-
/**
|
|
138
|
-
* send message
|
|
139
|
-
* @param {Object} data message body
|
|
140
|
-
* - {String} from from who
|
|
141
|
-
* - {String} to to who
|
|
142
|
-
*/
|
|
143
|
-
send(data: MessageBody): void;
|
|
144
|
-
/**
|
|
145
|
-
* send message to master self
|
|
146
|
-
* @param {Object} data message body
|
|
147
|
-
*/
|
|
148
|
-
sendToMaster(data: MessageBody): void;
|
|
149
|
-
/**
|
|
150
|
-
* send message to parent process
|
|
151
|
-
* @param {Object} data message body
|
|
152
|
-
*/
|
|
153
|
-
sendToParent(data: MessageBody): void;
|
|
154
|
-
/**
|
|
155
|
-
* send message to app worker
|
|
156
|
-
* @param {Object} data message body
|
|
157
|
-
*/
|
|
158
|
-
sendToAppWorker(data: MessageBody): void;
|
|
159
|
-
/**
|
|
160
|
-
* send message to agent worker
|
|
161
|
-
* @param {Object} data message body
|
|
162
|
-
*/
|
|
163
|
-
sendToAgentWorker(data: MessageBody): void;
|
|
164
|
-
}
|
|
165
|
-
//#endregion
|
|
166
|
-
//#region src/utils/mode/base/app.d.ts
|
|
167
|
-
declare abstract class BaseAppWorker<T = Worker | Worker$1> {
|
|
168
|
-
instance: T;
|
|
169
|
-
constructor(instance: T);
|
|
170
|
-
abstract get workerId(): number;
|
|
171
|
-
abstract get id(): number;
|
|
172
|
-
get state(): string;
|
|
173
|
-
set state(state: string);
|
|
174
|
-
abstract get exitedAfterDisconnect(): boolean;
|
|
175
|
-
abstract get exitCode(): number;
|
|
176
|
-
get disableRefork(): boolean;
|
|
177
|
-
set disableRefork(disableRefork: boolean);
|
|
178
|
-
get isDevReload(): boolean;
|
|
179
|
-
set isDevReload(isDevReload: boolean);
|
|
180
|
-
abstract send(data: MessageBody): void;
|
|
181
|
-
clean(): void;
|
|
182
|
-
static get workerId(): number;
|
|
183
|
-
static on(..._args: any[]): void;
|
|
184
|
-
static send(_message: MessageBody): void;
|
|
185
|
-
static kill(): void;
|
|
186
|
-
static gracefulExit(_options: any): void;
|
|
187
|
-
}
|
|
188
|
-
type LogFun = (msg: any, ...args: any[]) => void;
|
|
189
|
-
declare abstract class BaseAppUtils extends EventEmitter {
|
|
190
|
-
options: MasterOptions;
|
|
191
|
-
protected messenger: Messenger;
|
|
192
|
-
protected log: LogFun;
|
|
193
|
-
protected logger: Logger;
|
|
194
|
-
protected isProduction: boolean;
|
|
195
|
-
startTime: number;
|
|
196
|
-
startSuccessCount: number;
|
|
197
|
-
isAllWorkerStarted: boolean;
|
|
198
|
-
constructor(options: MasterOptions, {
|
|
199
|
-
log,
|
|
200
|
-
logger,
|
|
201
|
-
messenger,
|
|
202
|
-
isProduction
|
|
203
|
-
}: {
|
|
204
|
-
log: LogFun;
|
|
205
|
-
logger: Logger;
|
|
206
|
-
messenger: Messenger;
|
|
207
|
-
isProduction: boolean;
|
|
208
|
-
});
|
|
209
|
-
getAppWorkerFile(): string;
|
|
210
|
-
fork(): void;
|
|
211
|
-
abstract kill(timeout: number): Promise<void>;
|
|
212
|
-
}
|
|
213
|
-
//#endregion
|
|
214
|
-
//#region src/utils/options.d.ts
|
|
215
|
-
interface ClusterHTTPSSecureOptions {
|
|
216
|
-
key: SecureContextOptions['key'];
|
|
217
|
-
cert: SecureContextOptions['cert'];
|
|
218
|
-
ca?: SecureContextOptions['ca'];
|
|
219
|
-
passphrase?: SecureContextOptions['passphrase'];
|
|
220
|
-
}
|
|
221
|
-
type ClusterStartMode = 'process' | 'worker_threads';
|
|
222
|
-
/** Cluster start options */
|
|
223
|
-
interface ClusterOptions {
|
|
224
|
-
/**
|
|
225
|
-
* specify framework that can be absolute path or npm package
|
|
226
|
-
*/
|
|
227
|
-
framework?: string;
|
|
228
|
-
/**
|
|
229
|
-
* @deprecated please use framework instead
|
|
230
|
-
*/
|
|
231
|
-
customEgg?: string;
|
|
232
|
-
/** directory of application, default to `process.cwd()` */
|
|
233
|
-
baseDir?: string;
|
|
234
|
-
/**
|
|
235
|
-
* numbers of app workers, default to `os.cpus().length`
|
|
236
|
-
*/
|
|
237
|
-
workers?: number | string;
|
|
238
|
-
/**
|
|
239
|
-
* listening port, default to `7001`(http) or `8443`(https)
|
|
240
|
-
*/
|
|
241
|
-
port?: number | string | null;
|
|
242
|
-
/**
|
|
243
|
-
* listening a debug port on http protocol
|
|
244
|
-
*/
|
|
245
|
-
debugPort?: number;
|
|
246
|
-
/**
|
|
247
|
-
* https options, { key, cert, ca }, full path
|
|
248
|
-
*/
|
|
249
|
-
https?: ClusterHTTPSSecureOptions | boolean;
|
|
250
|
-
/**
|
|
251
|
-
* @deprecated please use `options.https.key` instead
|
|
252
|
-
*/
|
|
253
|
-
key?: ClusterHTTPSSecureOptions['key'];
|
|
254
|
-
/**
|
|
255
|
-
* @deprecated please use `options.https.cert` instead
|
|
256
|
-
*/
|
|
257
|
-
cert?: ClusterHTTPSSecureOptions['cert'];
|
|
258
|
-
/**
|
|
259
|
-
* will inject into worker/agent process
|
|
260
|
-
*/
|
|
261
|
-
require?: string | string[];
|
|
262
|
-
/**
|
|
263
|
-
* will save master pid to this file
|
|
264
|
-
*/
|
|
265
|
-
pidFile?: string;
|
|
266
|
-
/**
|
|
267
|
-
* custom env, default is `process.env.EGG_SERVER_ENV`
|
|
268
|
-
*/
|
|
269
|
-
env?: string;
|
|
270
|
-
/**
|
|
271
|
-
* default is `'process'`, use `'worker_threads'` to start the app & agent worker by worker_threads
|
|
272
|
-
*/
|
|
273
|
-
startMode?: ClusterStartMode;
|
|
274
|
-
/**
|
|
275
|
-
* startup port of each app worker, such as: `[7001, 7002, 7003]`, only effects when the startMode is `'worker_threads'`
|
|
276
|
-
*/
|
|
277
|
-
ports?: number[];
|
|
278
|
-
/**
|
|
279
|
-
* sticky mode server
|
|
280
|
-
*/
|
|
281
|
-
sticky?: boolean;
|
|
282
|
-
/** customized plugins, for unittest */
|
|
283
|
-
plugins?: object;
|
|
284
|
-
isDebug?: boolean;
|
|
285
|
-
}
|
|
286
|
-
interface ParsedClusterOptions extends ClusterOptions {
|
|
287
|
-
port?: number;
|
|
288
|
-
baseDir: string;
|
|
289
|
-
workers: number;
|
|
290
|
-
framework: string;
|
|
291
|
-
startMode: ClusterStartMode;
|
|
292
|
-
}
|
|
293
|
-
//#endregion
|
|
294
|
-
//#region src/utils/mode/impl/process/agent.d.ts
|
|
295
|
-
declare class AgentProcessWorker extends BaseAgentWorker<ChildProcess> {
|
|
296
|
-
get workerId(): number;
|
|
297
|
-
send(message: MessageBody): void;
|
|
298
|
-
static send(message: MessageBody): void;
|
|
299
|
-
static kill(): void;
|
|
300
|
-
static gracefulExit(options: Options): void;
|
|
301
|
-
}
|
|
302
|
-
declare class AgentProcessUtils extends BaseAgentUtils {
|
|
303
|
-
#private;
|
|
304
|
-
instance: AgentProcessWorker;
|
|
305
|
-
fork(): this;
|
|
306
|
-
clean(): void;
|
|
307
|
-
kill(timeout: number): Promise<void>;
|
|
308
|
-
}
|
|
309
|
-
//#endregion
|
|
310
|
-
//#region src/utils/mode/impl/process/app.d.ts
|
|
311
|
-
declare class AppProcessUtils extends BaseAppUtils {
|
|
312
|
-
fork(): this;
|
|
313
|
-
kill(timeout: number): Promise<void>;
|
|
314
|
-
}
|
|
315
|
-
//#endregion
|
|
316
|
-
//#region src/utils/mode/impl/worker_threads/agent.d.ts
|
|
317
|
-
declare class AgentThreadWorker extends BaseAgentWorker<Worker> {
|
|
318
|
-
get workerId(): number;
|
|
319
|
-
send(message: MessageBody): void;
|
|
320
|
-
static send(message: MessageBody): void;
|
|
321
|
-
static kill(): void;
|
|
322
|
-
static gracefulExit(options: Options): void;
|
|
323
|
-
}
|
|
324
|
-
declare class AgentThreadUtils extends BaseAgentUtils {
|
|
325
|
-
#private;
|
|
326
|
-
instance: AgentThreadWorker;
|
|
327
|
-
fork(): void;
|
|
328
|
-
clean(): void;
|
|
329
|
-
kill(): Promise<void>;
|
|
330
|
-
}
|
|
331
|
-
//#endregion
|
|
332
|
-
//#region src/utils/mode/impl/worker_threads/app.d.ts
|
|
333
|
-
declare class AppThreadUtils extends BaseAppUtils {
|
|
334
|
-
#private;
|
|
335
|
-
fork(): this;
|
|
336
|
-
kill(): Promise<void>;
|
|
337
|
-
}
|
|
338
|
-
//#endregion
|
|
339
|
-
//#region src/master.d.ts
|
|
340
|
-
interface MasterOptions extends ParsedClusterOptions {
|
|
341
|
-
clusterPort?: number;
|
|
342
|
-
stickyWorkerPort?: number;
|
|
343
|
-
}
|
|
344
|
-
declare class Master extends ReadyEventEmitter {
|
|
345
|
-
#private;
|
|
346
|
-
options: MasterOptions;
|
|
347
|
-
isStarted: boolean;
|
|
348
|
-
workerManager: WorkerManager;
|
|
349
|
-
messenger: Messenger;
|
|
350
|
-
isProduction: boolean;
|
|
351
|
-
agentWorkerIndex: number;
|
|
352
|
-
closed: boolean;
|
|
353
|
-
logger: EggConsoleLogger;
|
|
354
|
-
agentWorker: AgentProcessUtils | AgentThreadUtils;
|
|
355
|
-
appWorker: AppProcessUtils | AppThreadUtils;
|
|
356
|
-
constructor(options?: ClusterOptions);
|
|
357
|
-
startByProcess(): void;
|
|
358
|
-
startByWorkerThreads(): void;
|
|
359
|
-
detectPorts(): Promise<void>;
|
|
360
|
-
log(msg: string, ...args: any[]): void;
|
|
361
|
-
startMasterSocketServer(cb: (err?: Error) => void): void;
|
|
362
|
-
stickyWorker(ip: string): BaseAppWorker<worker_threads0.Worker | cluster0.Worker>;
|
|
363
|
-
forkAgentWorker(): void;
|
|
364
|
-
forkAppWorkers(): void;
|
|
365
|
-
/**
|
|
366
|
-
* close agent worker, App Worker will closed by cluster
|
|
367
|
-
*
|
|
368
|
-
* https://www.exratione.com/2013/05/die-child-process-die/
|
|
369
|
-
* make sure Agent Worker exit before master exit
|
|
370
|
-
*
|
|
371
|
-
* @param {number} timeout - kill agent timeout
|
|
372
|
-
* @return {Promise} -
|
|
373
|
-
*/
|
|
374
|
-
killAgentWorker(timeout: number): Promise<void>;
|
|
375
|
-
killAppWorkers(timeout: number): Promise<void>;
|
|
376
|
-
/**
|
|
377
|
-
* Agent Worker exit handler
|
|
378
|
-
* Will exit during startup, and refork during running.
|
|
379
|
-
*/
|
|
380
|
-
onAgentExit(data: {
|
|
381
|
-
/** exit code */
|
|
382
|
-
code: number;
|
|
383
|
-
/** received signal */
|
|
384
|
-
signal: string;
|
|
385
|
-
}): void;
|
|
386
|
-
onAgentStart(): void;
|
|
387
|
-
/**
|
|
388
|
-
* App Worker exit handler
|
|
389
|
-
*/
|
|
390
|
-
onAppExit(data: {
|
|
391
|
-
workerId: number;
|
|
392
|
-
code: number;
|
|
393
|
-
signal: string;
|
|
394
|
-
}): void;
|
|
395
|
-
/**
|
|
396
|
-
* after app worker
|
|
397
|
-
*/
|
|
398
|
-
onAppStart(data: {
|
|
399
|
-
workerId: number;
|
|
400
|
-
address: ListeningAddress;
|
|
401
|
-
}): void;
|
|
402
|
-
/**
|
|
403
|
-
* master exit handler
|
|
404
|
-
*/
|
|
405
|
-
onExit(code: number): void;
|
|
406
|
-
onSignal(signal: string): void;
|
|
407
|
-
/**
|
|
408
|
-
* reload workers, for develop purpose
|
|
409
|
-
*/
|
|
410
|
-
onReload(): void;
|
|
411
|
-
close(): Promise<void>;
|
|
412
|
-
_doClose(): Promise<void>;
|
|
413
|
-
}
|
|
414
|
-
interface ListeningAddress {
|
|
415
|
-
port: number;
|
|
416
|
-
protocol: string;
|
|
417
|
-
address?: string;
|
|
418
|
-
addressType?: number;
|
|
419
|
-
}
|
|
420
|
-
//#endregion
|
|
421
|
-
//#region src/error/ClusterAgentWorkerError.d.ts
|
|
422
|
-
declare class ClusterAgentWorkerError extends Error {
|
|
423
|
-
id: number;
|
|
424
|
-
/**
|
|
425
|
-
* pid in process mode
|
|
426
|
-
* tid in worker_threads mode
|
|
427
|
-
*/
|
|
428
|
-
workerId: number;
|
|
429
|
-
status: string;
|
|
430
|
-
constructor(id: number, workerId: number, status: string, error: Error);
|
|
431
|
-
}
|
|
432
|
-
//#endregion
|
|
433
|
-
//#region src/error/ClusterWorkerExceptionError.d.ts
|
|
434
|
-
declare class ClusterWorkerExceptionError extends Error {
|
|
435
|
-
count: {
|
|
436
|
-
agent: number;
|
|
437
|
-
worker: number;
|
|
438
|
-
};
|
|
439
|
-
constructor(agent: number, worker: number);
|
|
440
|
-
}
|
|
441
|
-
//#endregion
|
|
442
|
-
//#region src/index.d.ts
|
|
1
|
+
import { Master, type MasterOptions } from './master.ts';
|
|
2
|
+
import { type ClusterOptions, type ClusterHTTPSSecureOptions, type ClusterStartMode } from './utils/options.ts';
|
|
443
3
|
/**
|
|
444
4
|
* cluster start flow:
|
|
445
5
|
*
|
|
@@ -452,6 +12,6 @@ declare class ClusterWorkerExceptionError extends Error {
|
|
|
452
12
|
* @function Egg#startCluster
|
|
453
13
|
* @param {Object} options {@link Master}
|
|
454
14
|
*/
|
|
455
|
-
declare function startCluster(options: ClusterOptions): Promise<void>;
|
|
456
|
-
|
|
457
|
-
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';
|