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