node-worker-threads-pool
Version:
Simple worker threads pool using Node's worker_threads module. Compatible with ES6+ Promise, Async/Await.
25 lines (24 loc) • 772 B
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
import { PoolWorker } from './poolWorker';
import { TaskConfig } from './taskContainer';
export declare class Pool extends EventEmitter {
private size;
private deprecated;
private workers;
private createWorker;
private taskQueue;
constructor(size: number);
private addEventHandlers;
private addWorkerLifecycleHandlers;
private setWorkerCreator;
private replaceWorker;
private getIdleWorker;
private processTask;
protected fill(getWorker: () => PoolWorker): void;
runTask<TParam, TResult>(param: TParam, taskConfig: TaskConfig): Promise<TResult>;
/**
* Destroy this pool and terminate all threads.
*/
destroy(): Promise<void>;
}