express-graceful-exit
Version:
Allow graceful exits for express apps, supporting zero downtime deploys
29 lines (23 loc) • 837 B
TypeScript
import { Server } from 'net'
import { Express, NextFunction, Request, RequestHandler, Response } from 'express'
namespace GracefulExit {
interface Configuration {
errorDuringExit?: boolean
performLastRequest?: boolean
callback?: (code: number) => void
log?: boolean
logger?: (message: string) => void
getRejectionError?: () => Error
suicideTimeout?: number
exitProcess?: boolean
exitDelay?: number
force?: boolean
}
function init(server: Server): void
function gracefulExitHandler(app: Express, server: Server, options?: Configuration): void
function middleware(app: Express): RequestHandler
function disconnectSocketIOClients(): void
function hardExitHandler(): void
function handleFinalRequests(req: Request, res: Response, next: NextFunction): void
}
export = GracefulExit