pandora
Version:
A powerful and lightweight application manager for Node.js applications powered by TypeScript.
73 lines (72 loc) • 1.91 kB
TypeScript
import { ComplexHandler } from './ComplexHandler';
import Base = require('sdk-base');
import { State } from '../const';
import { ApplicationRepresentation } from '../domain';
import { DaemonIntrospection } from './DaemonIntrospection';
/**
* Class Daemon
*/
export declare class Daemon extends Base {
private messengerServer;
private monitor;
private introspection;
state: State;
apps: Map<any, ComplexHandler>;
constructor();
/**
* Start Daemon
* @return {Promise<any>}
*/
start(): Promise<{}>;
/**
* Handing all passive exit events, such as process signal, uncaughtException
*/
handleExit(): void;
/**
* Start an application
*
* @param {ApplicationRepresentation} applicationRepresentation
* @returns {Promise<ComplexHandler>}
*/
startApp(applicationRepresentation: ApplicationRepresentation): Promise<ComplexHandler>;
/**
* Reload an application
* @param appName
* @param processName
* @return {Promise<ComplexHandler>}
*/
reloadApp(appName: any, processName?: any): Promise<ComplexHandler>;
/**
* stop an application
* @param appName
* @return {Promise<ComplexHandler>}
*/
stopApp(appName: any): Promise<ComplexHandler>;
/**
* stop all the applications
* @return {Promise<void>}
*/
stopAllApps(): Promise<void>;
/**
* stop an application
* @return {Promise<void>}
*/
stop(): Promise<void>;
/**
* Start the monitor
* @return {Promise<void>}
*/
private startMonitor();
/**
* Stop the monitor
* @return {Promise<void>}
*/
private stopMonitor();
/**
* Handle daemon's command invocations
* @param message
* @param reply
*/
handleCommand(message: any, reply: any): Promise<void>;
getIntrospection(): DaemonIntrospection;
}