@atomist/automation-client
Version:
Atomist API for software low-level client
36 lines • 2.2 kB
TypeScript
import { Configuration } from "../../../configuration";
import { AutomationContextAware, HandlerContext } from "../../../HandlerContext";
import { AutomationEventListener } from "../../../server/AutomationEventListener";
import { AutomationServer } from "../../../server/AutomationServer";
import { GraphClient } from "../../../spi/graph/GraphClient";
import { MessageClient } from "../../../spi/message/MessageClient";
import { AbstractRequestProcessor } from "../AbstractRequestProcessor";
import { CommandIncoming, EventIncoming } from "../RequestProcessor";
import { RegistrationConfirmation } from "../websocket/WebSocketRequestProcessor";
/**
* A RequestProcessor that is being run as Node.JS Cluster worker handling all the actual work.
*/
export declare class ClusterWorkerRequestProcessor extends AbstractRequestProcessor {
private readonly _automations;
private readonly _configuration;
private readonly _listeners;
private graphClients;
private registration?;
private shutdownInitiated;
constructor(_automations: AutomationServer, _configuration: Configuration, _listeners?: AutomationEventListener[]);
setRegistration(registration: RegistrationConfirmation): void;
setRegistrationIfRequired(data: any): void;
sendShutdown(code: number, ctx: HandlerContext & AutomationContextAware): Promise<void>;
protected sendStatusMessage(payload: any, ctx: HandlerContext & AutomationContextAware): Promise<any>;
protected createGraphClient(event: CommandIncoming | EventIncoming, context: AutomationContextAware): GraphClient;
protected createMessageClient(event: EventIncoming | CommandIncoming, context: AutomationContextAware): MessageClient;
protected setupNamespace(request: any, automations: AutomationServer, invocationId?: string, ts?: number): any;
}
/**
* Start a new worker node
* @param {AutomationServer} automations
* @param {WebSocketClientOptions} options
* @returns {RequestProcessor}
*/
export declare function startWorker(automations: AutomationServer, configuration: Configuration, listeners?: AutomationEventListener[]): ClusterWorkerRequestProcessor;
//# sourceMappingURL=ClusterWorkerRequestProcessor.d.ts.map