@nodedaemon/core
Version:
Production-ready Node.js process manager with zero external dependencies
42 lines • 1.46 kB
TypeScript
import { DaemonState, ProcessInfo } from '../types';
import { LogManager } from './LogManager';
export declare class StateManager {
private logger;
private state;
private saveTimer;
private saveInterval;
constructor(logger: LogManager);
private createInitialState;
loadState(): void;
private cleanupOrphanedProcesses;
private isProcessRunning;
saveState(): void;
setProcess(processId: string, processInfo: ProcessInfo): void;
deleteProcess(processId: string): boolean;
getProcess(processId: string): ProcessInfo | undefined;
getAllProcesses(): ProcessInfo[];
getProcessCount(): number;
updateProcess(processId: string, updates: Partial<ProcessInfo>): boolean;
getState(): DaemonState;
getStats(): {
processCount: number;
runningProcesses: number;
stoppedProcesses: number;
erroredProcesses: number;
uptime: number;
version: string;
};
findProcessByName(name: string): ProcessInfo | undefined;
findProcessesByScript(script: string): ProcessInfo[];
getProcessesByStatus(status: ProcessInfo['status']): ProcessInfo[];
private startAutoSave;
private scheduleSave;
setSaveInterval(interval: number): void;
forceSave(): void;
backup(backupPath?: string): void;
restore(backupPath: string): void;
reset(): void;
shutdown(): void;
validate(): boolean;
}
//# sourceMappingURL=StateManager.d.ts.map