pandora
Version:
A powerful and lightweight application manager for Node.js applications powered by TypeScript.
76 lines (75 loc) • 1.84 kB
TypeScript
import { ProcessRepresentation } from '../domain';
/**
* Class ScalableMaster
* For kind of the process, that's field scale great than 1
*/
export declare class ScalableMaster {
started: boolean;
private workers;
private processRepresentation;
private get workersSet();
constructor(processRepresentation: ProcessRepresentation);
/**
* Get all the workers
* @return {Array}
*/
getWorkers(): any[];
/**
* Start master
* @return {Promise<void>}
*/
start(): Promise<void>;
/**
* Stop master, stop all workers
* @return {Promise<void>}
*/
stop(): Promise<void>;
/**
* Reload all workers
* @param targetName
* @return {Promise<void>}
*/
reload(targetName?: any): Promise<void>;
/**
* Realod named workers
* @param workers
* @return {Promise<void>}
*/
private reloadNamedWorkers;
/**
* Reload a worker
* @param worker
* @return {Promise<any>}
*/
private reloadWorker;
private sendShutdownToWorker;
/**
* Kill a worker by a SOP
* @param worker
* @return {Promise<void>}
*/
killWorkerSop(worker: any): Promise<void>;
/**
* Send message to all workers
* @param action
* @param data
*/
notify(action: any, data: any): void;
/**
* Fork a new worker, keep it live
* @param {ProcessRepresentation} processRepresentation
* @return {Promise<any>}
*/
private forkWorker;
/**
* Listen the events of the cluster when the master start
*/
private listenEvents;
/**
* Handing the process message
* @param message
*/
onProcessMessage(message: any): void;
onClusterFork(worker: any): void;
onWorkerDie(worker: any, code: any, signal: any): void;
}