UNPKG

@eggjs/cluster

Version:

cluster manager for egg

56 lines (55 loc) 1.71 kB
import { MessageBody, Messenger } from "../../messenger.js"; import { MasterOptions } from "../../../master.js"; import { Logger } from "egg-logger"; import { EventEmitter } from "node:events"; import { Worker } from "node:worker_threads"; import { Worker as Worker$1 } from "node:cluster"; //#region src/utils/mode/base/app.d.ts declare abstract class BaseAppWorker<T = Worker | Worker$1> { instance: T; constructor(instance: T); abstract get workerId(): number; abstract get id(): number; get state(): string; set state(state: string); abstract get exitedAfterDisconnect(): boolean; abstract get exitCode(): number; get disableRefork(): boolean; set disableRefork(disableRefork: boolean); get isDevReload(): boolean; set isDevReload(isDevReload: boolean); abstract send(data: MessageBody): void; clean(): void; static get workerId(): number; static on(..._args: any[]): void; static send(_message: MessageBody): void; static kill(): void; static gracefulExit(_options: any): void; } type LogFun = (msg: any, ...args: any[]) => void; declare abstract class BaseAppUtils extends EventEmitter { options: MasterOptions; protected messenger: Messenger; protected log: LogFun; protected logger: Logger; protected isProduction: boolean; startTime: number; startSuccessCount: number; isAllWorkerStarted: boolean; constructor(options: MasterOptions, { log, logger, messenger, isProduction }: { log: LogFun; logger: Logger; messenger: Messenger; isProduction: boolean; }); getAppWorkerFile(): string; fork(): void; abstract kill(timeout: number): Promise<void>; } //#endregion export { BaseAppUtils, BaseAppWorker };