1 | import { ForkOptions } from "child_process";
|
2 |
|
3 | export = Farm;
|
4 |
|
5 | declare function Farm(name: string): Farm.Workers;
|
6 | declare function Farm(name: string, exportedMethods: string[]): Farm.Workers;
|
7 | declare function Farm(options: Farm.FarmOptions, name: string): Farm.Workers;
|
8 | declare function Farm(
|
9 | options: Farm.FarmOptions,
|
10 | name: string,
|
11 | exportedMethods: string[],
|
12 | ): Farm.Workers;
|
13 |
|
14 | type WorkerCallback0 = () => void;
|
15 | type WorkerCallback1 = (arg1: any) => void;
|
16 | type WorkerCallback2 = (arg1: any, arg2: any) => void;
|
17 | type WorkerCallback3 = (arg1: any, arg2: any, arg3: any) => void;
|
18 | type WorkerCallback4 = (arg1: any, arg2: any, arg3: any, arg4: any) => void;
|
19 |
|
20 | declare namespace Farm {
|
21 | export function end(workers: Workers, callback?: Function): void;
|
22 |
|
23 | export interface Workers {
|
24 | [x: string]: Workers,
|
25 | (callback: WorkerCallback): void;
|
26 | (arg1: any, callback: WorkerCallback): void;
|
27 | (arg1: any, arg2: any, callback: WorkerCallback): void;
|
28 | (arg1: any, arg2: any, arg3: any, callback: WorkerCallback): void;
|
29 | (
|
30 | arg1: any,
|
31 | arg2: any,
|
32 | arg3: any,
|
33 | arg4: any,
|
34 | callback: WorkerCallback,
|
35 | ): void;
|
36 | }
|
37 |
|
38 | export interface FarmOptions {
|
39 | maxCallsPerWorker?: number;
|
40 | maxConcurrentWorkers?: number;
|
41 | maxConcurrentCallsPerWorker?: number;
|
42 | maxConcurrentCalls?: number;
|
43 | maxCallTime?: number;
|
44 | maxRetries?: number;
|
45 | autoStart?: boolean;
|
46 | workerOptions?: ForkOptions;
|
47 | }
|
48 |
|
49 | export type WorkerCallback =
|
50 | | WorkerCallback0
|
51 | | WorkerCallback1
|
52 | | WorkerCallback2
|
53 | | WorkerCallback3
|
54 | | WorkerCallback4;
|
55 | }
|