blob: 310e91503fda497126d3e5d1b29bad18c52b4aae [file] [log] [blame]
import { ForkOptions } from "child_process";
export = Farm;
declare function Farm(name: string): Farm.Workers;
declare function Farm(name: string, exportedMethods: string[]): Farm.Workers;
declare function Farm(options: Farm.FarmOptions, name: string): Farm.Workers;
declare function Farm(
options: Farm.FarmOptions,
name: string,
exportedMethods: string[],
): Farm.Workers;
type WorkerCallback0 = () => void;
type WorkerCallback1 = (arg1: any) => void;
type WorkerCallback2 = (arg1: any, arg2: any) => void;
type WorkerCallback3 = (arg1: any, arg2: any, arg3: any) => void;
type WorkerCallback4 = (arg1: any, arg2: any, arg3: any, arg4: any) => void;
declare namespace Farm {
export function end(workers: Workers, callback?: Function): void;
export interface Workers {
[x: string]: Workers,
(callback: WorkerCallback): void;
(arg1: any, callback: WorkerCallback): void;
(arg1: any, arg2: any, callback: WorkerCallback): void;
(arg1: any, arg2: any, arg3: any, callback: WorkerCallback): void;
(
arg1: any,
arg2: any,
arg3: any,
arg4: any,
callback: WorkerCallback,
): void;
}
export interface FarmOptions {
maxCallsPerWorker?: number;
maxConcurrentWorkers?: number;
maxConcurrentCallsPerWorker?: number;
maxConcurrentCalls?: number;
maxCallTime?: number;
maxRetries?: number;
autoStart?: boolean;
workerOptions?: ForkOptions;
}
export type WorkerCallback =
| WorkerCallback0
| WorkerCallback1
| WorkerCallback2
| WorkerCallback3
| WorkerCallback4;
}