UNPKG

@atomist/automation-client

Version:

Atomist API for software low-level client

51 lines 2.85 kB
import * as WebSocket from "ws"; import { Configuration } from "../../../configuration"; import { EventFired } from "../../../HandleEvent"; import { AutomationContextAware, HandlerContext } from "../../../HandlerContext"; import { HandlerResult } from "../../../HandlerResult"; import { AutomationEventListener } from "../../../server/AutomationEventListener"; import { AutomationServer } from "../../../server/AutomationServer"; import { GraphClient } from "../../../spi/graph/GraphClient"; import { MessageClient } from "../../../spi/message/MessageClient"; import { CommandInvocation } from "../../invoker/Payload"; import { AbstractRequestProcessor } from "../AbstractRequestProcessor"; import { CommandIncoming, EventIncoming } from "../RequestProcessor"; import { RegistrationConfirmation, WebSocketRequestProcessor } from "../websocket/WebSocketRequestProcessor"; /** * A RequestProcessor that delegates to Node.JS Cluster workers to do the actual * command and event processing. * @see ClusterWorkerRequestProcessor */ export declare class ClusterMasterRequestProcessor extends AbstractRequestProcessor implements WebSocketRequestProcessor { protected automations: AutomationServer; protected configuration: Configuration; protected listeners: AutomationEventListener[]; protected numWorkers: number; protected maxConcurrentPerWorker: number; private registration?; private readonly webSocketLifecycle; private readonly commands; private readonly events; private readonly messages; private shutdownInitiated; private replaceWorkers; private backoffInitiated; constructor(automations: AutomationServer, configuration: Configuration, listeners?: AutomationEventListener[], numWorkers?: number, maxConcurrentPerWorker?: number); onRegistration(registration: RegistrationConfirmation): void; onConnect(ws: WebSocket): void; onDisconnect(): void; run(): Promise<any>; protected invokeCommand(ci: CommandInvocation, ctx: HandlerContext & AutomationContextAware, command: CommandIncoming, callback: (result: Promise<HandlerResult>) => void): void; protected invokeEvent(ef: EventFired<any>, ctx: HandlerContext & AutomationContextAware, event: EventIncoming, callback: (results: Promise<HandlerResult[]>) => void): void; protected sendStatusMessage(payload: any, ctx: HandlerContext & AutomationContextAware): Promise<any>; protected createGraphClient(event: CommandIncoming | EventIncoming): GraphClient; protected createMessageClient(event: CommandIncoming | EventIncoming): MessageClient; private assignWorker; private startMessage; private queueLength; private scheduleQueueLength; private scheduleBackoffCheck; private reportQueueLength; private terminateWorkers; } //# sourceMappingURL=ClusterMasterRequestProcessor.d.ts.map