UNPKG

pandora

Version:

A powerful and lightweight application manager for Node.js applications powered by TypeScript.

85 lines (84 loc) 2.19 kB
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;