thrilled-be-core
Version:
Core Express backend package with middleware, logging, security, and base application setup
36 lines • 940 B
TypeScript
import { Server } from 'http';
import { Logger } from '../logging/Logger';
export interface GracefulShutdownConfig {
enabled?: boolean;
timeout?: number;
signals?: string[];
}
export declare class GracefulShutdown {
private server?;
private logger;
private config;
private shutdownHandlers;
private isShuttingDown;
constructor(config?: GracefulShutdownConfig, logger?: Logger);
/**
* Set the HTTP server instance
*/
setServer(server: Server): void;
/**
* Add a shutdown handler
*/
addHandler(handler: () => Promise<void>): void;
/**
* Setup signal handlers for graceful shutdown
*/
private setupSignalHandlers;
/**
* Perform graceful shutdown
*/
private shutdown;
/**
* Force shutdown (for testing or emergency situations)
*/
forceShutdown(exitCode?: number): void;
}
//# sourceMappingURL=GracefulShutdown.d.ts.map