UNPKG

n8n

Version:

n8n Workflow Automation Tool

32 lines (31 loc) 1.85 kB
import { TaskRunnersConfig } from '@n8n/config'; import type { BrokerMessage } from '@n8n/task-runner'; import { Logger } from 'n8n-core'; import type WebSocket from 'ws'; import { WsStatusCodes } from '../../constants'; import { DefaultTaskRunnerDisconnectAnalyzer } from '../../task-runners/default-task-runner-disconnect-analyzer'; import type { DisconnectAnalyzer, DisconnectReason, TaskBrokerServerInitRequest, TaskBrokerServerInitResponse } from '../../task-runners/task-broker/task-broker-types'; import { TaskRunnerLifecycleEvents } from '../../task-runners/task-runner-lifecycle-events'; import { TaskBroker, type TaskRunner } from './task-broker.service'; type WsStatusCode = (typeof WsStatusCodes)[keyof typeof WsStatusCodes]; export declare class TaskBrokerWsServer { private readonly logger; private readonly taskBroker; private disconnectAnalyzer; private readonly taskTunnersConfig; private readonly runnerLifecycleEvents; runnerConnections: Map<TaskRunner['id'], WebSocket>; private heartbeatTimer; constructor(logger: Logger, taskBroker: TaskBroker, disconnectAnalyzer: DefaultTaskRunnerDisconnectAnalyzer, taskTunnersConfig: TaskRunnersConfig, runnerLifecycleEvents: TaskRunnerLifecycleEvents); start(): void; private startHeartbeatChecks; stop(): Promise<void>; setDisconnectAnalyzer(disconnectAnalyzer: DisconnectAnalyzer): void; getDisconnectAnalyzer(): DefaultTaskRunnerDisconnectAnalyzer; sendMessage(id: TaskRunner['id'], message: BrokerMessage.ToRunner.All): void; add(id: TaskRunner['id'], connection: WebSocket): void; removeConnection(id: TaskRunner['id'], reason?: DisconnectReason, code?: WsStatusCode): Promise<void>; handleRequest(req: TaskBrokerServerInitRequest, _res: TaskBrokerServerInitResponse): void; private stopConnectedRunners; } export {};