UNPKG

pipeproc

Version:

Multi-process log processing for nodejs

319 lines (318 loc) 9.18 kB
import { ICommitLog } from "../client"; import { IProc } from "../node/proc"; import { ISystemProc } from "../node/systemProc"; export interface IPipeProcMessageSchema { type: string; msgKey?: string; errStatus?: string; data?: object; } export interface IPipeProcMessage extends IPipeProcMessageSchema { msgKey: string; } export interface IPipeProcLogMessage extends IPipeProcMessage { data: { commitLog: { topic: string; body: string; } | { topic: string; body: string; }[]; }; } export interface IPipeProcLogMessageReply extends IPipeProcMessage { data: { id: string | string[]; }; } export interface IPipeProcAckLogMessage extends IPipeProcMessage { data: { procName: string; commitLog: { topic: string; body: string; } | { topic: string; body: string; }[]; }; } export interface IPipeProcAckLogMessageReply extends IPipeProcMessage { data: { ackedLogId: string; id: string | string[]; }; } export interface IPipeProcProcMessage extends IPipeProcMessage { data: { options: { name: string; topic: string; offset: string; count: number; maxReclaims: number; reclaimTimeout: number; onMaxReclaimsReached: string; }; }; } export interface IPipeProcProcMessageReply extends IPipeProcMessage { data?: { id: string; data: string; } | { id: string; data: string; }[]; } export interface IPipeProcAvailableProcMessage extends IPipeProcMessage { data: { procList: { name: string; topic: string; offset: string; count: number; maxReclaims: number; reclaimTimeout: number; onMaxReclaimsReached: string; }[]; }; } export interface IPipeProcAvailableProcMessageReply extends IPipeProcMessage { data?: { log?: { id: string; data: string; } | { id: string; data: string; }[]; procName?: string; }; } export interface IPipeProcSystemProcMessage extends IPipeProcMessage { data: { options: { name: string; offset: string; count: number; maxReclaims: number; reclaimTimeout: number; onMaxReclaimsReached: string; from: string | string[]; to: string | string[]; inlineProcessor?: string; externalProcessor?: string; }; }; type: "system_proc"; } export interface IPipeProcSystemProcMessageReply extends IPipeProcMessage { data: { proc?: IProc | IProc[]; }; type: "system_proc_ok" | "system_proc_error"; errStatus?: string; } export interface IPipeProcRangeMessage extends IPipeProcMessage { data: { topic: string; options: { start: string; end: string; limit: number; exclusive: boolean; reverse: false; }; }; } export interface IPipeProcRangeMessageReply extends IPipeProcMessage { data: { results: { id: string; data: string; }[]; }; } export interface IPipeProcAckMessage extends IPipeProcMessage { data: { procName: string; }; } export interface IPipeProcAckMessageReply extends IPipeProcMessage { data: { id: string; }; } export interface IPipeProcInspectProcMessage extends IPipeProcMessage { data: { procName: string; }; } export interface IPipeProcInspectProcMessageReply extends IPipeProcMessage { data: { proc: IProc; }; } export interface IPipeProcDisableProcMessage extends IPipeProcMessage { data: { procName: string; }; } export interface IPipeProcDisableProcMessageReply extends IPipeProcMessage { data: { proc: IProc; }; } export interface IPipeProcResumeProcMessage extends IPipeProcMessage { data: { procName: string; }; } export interface IPipeProcResumeProcMessageReply extends IPipeProcMessage { data: { proc: IProc; }; } export interface IPipeProcDestroyProcMessage extends IPipeProcMessage { data: { procName: string; }; } export interface IPipeProcDestroyProcMessageReply extends IPipeProcMessage { data: { proc: IProc; }; } export interface IPipeProcReclaimProcMessage extends IPipeProcMessage { data: { procName: string; }; } export interface IPipeProcReclaimProcMessageReply extends IPipeProcMessage { data: { lastClaimedRange: string; }; } export interface IPipeProcSystemInitMessage extends IPipeProcMessage { type: "system_init"; data: { options: { memory?: boolean; location?: string; workers: number; workerConcurrency: number; workerRestartAfter: number; gc?: { minPruneTime?: number; interval?: number; } | boolean; }; }; } export interface IPipeProcWorkerInitMessage extends IPipeProcMessage { type: "worker_init"; data: { address: string; tls: { key: string; cert: string; ca: string; } | false; workerConcurrency: number; workerRestartAfter: number; }; } export interface IPipeProcInitIPCMessage extends IPipeProcMessage { type: "init_ipc"; data: { address: string; tls: { server: { key: string; cert: string; ca: string; }; client: { key: string; cert: string; ca: string; }; } | false; }; } export interface IPipeProcIPCEstablishedMessage extends IPipeProcMessage { type: "ipc_established"; } export interface IPipeProcWorkerInitMessageReply extends IPipeProcMessage { type: "worker_connected" | "worker_connection_failure"; errStatus?: string; } export interface IPipeProcPingMessage extends IPipeProcMessage { type: "ping"; } export interface IPipeProcPingMessageReply extends IPipeProcMessage { type: "pong"; } export interface IPipeProcRegisterSystemProcsMessage extends IPipeProcMessage { type: "register_system_procs"; data: { procs: IProc[]; systemProcs: ISystemProc[]; }; } export interface IPipeProcWaitForProcsMessage extends IPipeProcMessage { type: "wait_for_procs"; data: { procs: string[]; }; } export interface IPipeProcRegisterSystemProcsMessageReply extends IPipeProcMessage { type: "register_system_proc_ok" | "register_system_proc_error"; errStatus?: string; } export declare function prepareMessage(msg: IPipeProcMessageSchema): IPipeProcMessage; export declare function prepareLogMessage(msg: IPipeProcMessage, commitLog: ICommitLog | ICommitLog[]): IPipeProcLogMessage; export declare function prepareProcMessage(msg: IPipeProcMessage, options: { name: string; topic: string; offset: string; count: number; maxReclaims: number; reclaimTimeout: number; onMaxReclaimsReached: string; }): IPipeProcProcMessage; export declare function prepareAvailableProcMessage(msg: IPipeProcMessage, procList: { name: string; topic: string; offset: string; count: number; maxReclaims: number; reclaimTimeout: number; onMaxReclaimsReached: string; }[]): IPipeProcAvailableProcMessage; export declare function prepareSystemProcMessage(options: { name: string; offset: string; count: number; maxReclaims: number; reclaimTimeout: number; onMaxReclaimsReached: string; from: string | string[]; to: string | string[]; inlineProcessor?: string; externalProcessor?: string; }): IPipeProcSystemProcMessage; export declare function prepareAckLogMessage(msg: IPipeProcMessage, procname: string, commitLog: ICommitLog | ICommitLog[]): IPipeProcAckLogMessage; export declare function prepareAckMessage(msg: IPipeProcMessage, procname: string): IPipeProcAckMessage; export declare function prepareDestroyProcMessage(msg: IPipeProcMessage, procname: string): IPipeProcDestroyProcMessage; export declare function prepareDisableProcMessage(msg: IPipeProcMessage, procname: string): IPipeProcDisableProcMessage; export declare function prepareResumeProcMessage(msg: IPipeProcMessage, procname: string): IPipeProcResumeProcMessage; export declare function prepareReclaimProcMessage(msg: IPipeProcMessage, procname: string): IPipeProcReclaimProcMessage; export declare function prepareWorkerInitMessage(address: string, tls: { key: string; cert: string; ca: string; } | false, workerConcurrency: number, workerRestartAfter: number): IPipeProcWorkerInitMessage; export declare function prepareRegisterSystemProcsMessage(procs: IProc[], systemProcs: ISystemProc[]): IPipeProcRegisterSystemProcsMessage;