jumbo-core
Version:
Modern lightweight fast enterprise level MVW framework for Node.js
39 lines (38 loc) • 1.09 kB
TypeScript
import * as $cluster from "cluster";
export declare enum ClusterCommands {
Log = 0,
BanIp = 1,
NewSession = 2,
WorkerReady = 3,
ExitApp = 4,
RestartWorker = 5,
}
export declare enum ClusterExitCommands {
Exit = 0,
Restart = 1,
}
export interface IClusterActionEvent {
worker: $cluster.Worker;
data: any;
isDefaultPrevented: boolean;
stopPropagation(): void;
preventDefault(): void;
}
export declare class Cluster {
private workers;
private numberOfWorkerReady;
private masterHandlers;
static readonly instance: Cluster;
constructor();
invoke(cmd: ClusterCommands, data?: any): void;
initClustering(): void;
on(cmd: ClusterCommands, callback: (event: IClusterActionEvent) => void): void;
private onExit(worker, code, signal);
private fork(worker?);
private workerOnMessage(message);
private masterOnMessage(worker, message);
private workerReady();
private exitApp();
private restartWorker(event);
}
export declare const cluster: Cluster;