45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
|
interface 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;
|
||
|
}
|
||
|
|
||
|
type WorkerCallback =
|
||
|
| WorkerCallback0
|
||
|
| WorkerCallback1
|
||
|
| WorkerCallback2
|
||
|
| WorkerCallback3
|
||
|
| WorkerCallback4;
|
||
|
|
||
|
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;
|
||
|
|
||
|
interface FarmOptions {
|
||
|
maxCallsPerWorker?: number
|
||
|
maxConcurrentWorkers?: number
|
||
|
maxConcurrentCallsPerWorker?: number
|
||
|
maxConcurrentCalls?: number
|
||
|
maxCallTime?: number
|
||
|
maxRetries?: number
|
||
|
autoStart?: boolean
|
||
|
}
|
||
|
|
||
|
interface WorkerFarm {
|
||
|
(name: string): Workers;
|
||
|
(name: string, exportedMethods: string[]): Workers;
|
||
|
(options: FarmOptions, name: string): Workers;
|
||
|
(options: FarmOptions, name: string, exportedMethods: string[]): Workers;
|
||
|
|
||
|
end: (workers: Workers) => void;
|
||
|
}
|
||
|
|
||
|
declare module "worker-farm" {
|
||
|
const workerFarm: WorkerFarm;
|
||
|
export = workerFarm;
|
||
|
}
|