UNPKG

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
/// <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>; }