55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
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;
|
|
}
|