@nodedaemon/core
Version:
Production-ready Node.js process manager with zero external dependencies
38 lines • 1.51 kB
TypeScript
import { EventEmitter } from 'events';
import { ProcessConfig, ProcessInfo, HealthCheckResult } from '../types';
import { LogManager } from './LogManager';
export declare class ProcessOrchestrator extends EventEmitter {
private processes;
private childProcesses;
private restartTimers;
private logger;
private isShuttingDown;
constructor(logger: LogManager);
private setupClusterEventHandlers;
private setupProcessEventHandlers;
startProcess(config: ProcessConfig): Promise<string>;
private resolveInstanceCount;
private determineStrategy;
private startClusterProcess;
private startClusterInstance;
private startSingleProcess;
private handleWorkerExit;
private handleInstanceExit;
private scheduleRestart;
private restartInstance;
private updateProcessStatus;
stopProcess(processId: string, force?: boolean): Promise<void>;
private stopInstance;
restartProcess(processId: string, graceful?: boolean): Promise<void>;
gracefulReload(processInfo: ProcessInfo): Promise<void>;
deleteProcess(processId: string): void;
getProcesses(): ProcessInfo[];
getProcess(processId: string): ProcessInfo | undefined;
getProcessByName(name: string): ProcessInfo | undefined;
private findInstanceByPid;
private findProcessByInstanceId;
reloadAllProcesses(): Promise<void>;
gracefulShutdown(): Promise<void>;
getHealthCheck(): HealthCheckResult[];
}
//# sourceMappingURL=ProcessOrchestrator.d.ts.map