node-worker-threads-pool-ts
Version:
Simple worker threads pool using Node's worker_threads module. Compatible with ES6+ Promise, Typescript, Async/Await.
26 lines (25 loc) • 835 B
TypeScript
/// <reference types="node" />
import { EventEmitter } from "events";
import { PoolWorker, TaskConfig } from "./pool-worker";
import { TransferListItem } from "worker_threads";
export declare type TransferList = ReadonlyArray<TransferListItem>;
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;
fill(getWorker: () => PoolWorker): void;
runTask(param: any, taskConfig: TaskConfig): Promise<any>;
/**
* Destroy this pool and terminate all threads.
*/
destroy(): Promise<void>;
}