forked from rvagg/node-worker-farm
-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.d.ts
63 lines (55 loc) · 1.84 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import { ForkOptions } from "child_process";
export = Farm;
declare function Farm(name: string): Promise<Farm.Workers>;
declare function Farm(name: string, exportedMethods: string[]): Promise<Farm.Workers>;
declare function Farm(options: Farm.FarmOptions, name: string): Promise<Farm.Workers>;
declare function Farm(
options: Farm.FarmOptions,
name: string,
exportedMethods: string[],
): Promise<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 interface CallOptions {
callback: WorkerCallback,
maxCallTime: number
}
export function end(workers: Workers, callback?: Function): void;
export function queue(workers: Workers): any;
export interface Workers {
[x: string]: Workers,
(callback: WorkerCallback | CallOptions): void;
(arg1: any, callback: WorkerCallback | CallOptions): void;
(arg1: any, arg2: any, callback: WorkerCallback | CallOptions): void;
(arg1: any, arg2: any, arg3: any, callback: WorkerCallback | CallOptions): void;
(
arg1: any,
arg2: any,
arg3: any,
arg4: any,
callback: WorkerCallback | CallOptions,
): void;
}
export interface FarmOptions {
maxCallsPerWorker?: number;
maxConcurrentWorkers?: number;
maxConcurrentCallsPerWorker?: number;
maxConcurrentCalls?: number;
maxCallTime?: number;
maxRetries?: number;
autoStart?: boolean;
workerOptions?: ForkOptions;
asyncInit?: boolean;
maxInitTime?: number;
}
export type WorkerCallback =
| WorkerCallback0
| WorkerCallback1
| WorkerCallback2
| WorkerCallback3
| WorkerCallback4;
}