n8n
Version:
n8n Workflow Automation Tool
27 lines (26 loc) • 869 B
TypeScript
import { ApplicationError } from 'n8n-workflow';
import type { Class } from 'n8n-core';
import { Logger } from '../Logger';
type HandlerFn = () => Promise<void> | void;
export type ServiceClass = Class<Record<string, HandlerFn>>;
export interface ShutdownHandler {
serviceClass: ServiceClass;
methodName: string;
}
export declare class ComponentShutdownError extends ApplicationError {
constructor(componentName: string, cause: Error);
}
export declare class ShutdownService {
private readonly logger;
private readonly handlersByPriority;
private shutdownPromise;
constructor(logger: Logger);
register(priority: number, handler: ShutdownHandler): void;
validate(): void;
shutdown(): void;
waitForShutdown(): Promise<void>;
isShuttingDown(): boolean;
private startShutdown;
private shutdownComponent;
}
export {};