pandora
Version:
A powerful and lightweight application manager for Node.js applications powered by TypeScript.
85 lines (84 loc) • 2.19 kB
TypeScript
import { ApplicationRepresentation } from '../domain';
import Base = require('sdk-base');
export declare const defaultWorkerCount: number;
/**
* Class Master
*/
export declare class ProcessMaster extends Base {
started: boolean;
private workers;
private appRepresentation;
private procfileReconciler;
private readonly workersSet;
constructor(appRepresentation: ApplicationRepresentation);
/**
* 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(workers);
/**
* Reload a worker
* @param worker
* @return {Promise<any>}
*/
private reloadWorker(worker);
private sendWorkerShutdown(worker);
/**
* Kill a worker by in a SOP way
* @param worker
* @return {Promise<void>}
*/
killWorkerSop(worker: any): Promise<void>;
/**
* Send message to all the workers
* @param action
* @param data
*/
notify(action: any, data: any): void;
/**
* Fork a new worker, keep that live
* @param {ProcessRepresentation} processRepresentation
* @return {Promise<any>}
*/
private forkWorker(processRepresentation);
/**
* Listen the events of the cluster when the master start
*/
private listenEvents();
/**
* Handing the process term signal
* @param sig
*/
onProcessTerm(sig: any): void;
/**
* Handing the process message
* @param message
*/
onProcessMessage(message: any): void;
onClusterFork(worker: any): void;
onWorkerDie(worker: any, code: any, signal: any): void;
}
declare const _default: (appRepresentation: ApplicationRepresentation, done: any) => void;
export default _default;