node-worker-threads-pool-ts
Version:
Simple worker threads pool using Node's worker_threads module. Compatible with ES6+ Promise, Typescript, Async/Await.
28 lines (27 loc) • 1.32 kB
TypeScript
import { DynamicPool, DynamicPoolWorkerParam } from "./dynamic-pool";
import { TaskConfig } from "./pool-worker";
import { Pool, TransferList } from "./pool";
declare class BaseTaskExecutor<ParamType, ResultType> {
protected _taskConfig: TaskConfig;
protected _pool: Pool;
protected _called: boolean;
constructor(pool: Pool);
/** Set timeout (in millisecond) to this task. */
setTimeout(t: number): this;
/**
* @see {@link https://nodejs.org/dist/latest-v14.x/docs/api/worker_threads.html#worker_threads_port_postmessage_value_transferlist transferList}
*/
setTransferList(transferList: TransferList): this;
/** Execute this task with the parameter provided. */
exec(param?: ParamType | DynamicPoolWorkerParam): Promise<ResultType>;
}
/** Executor for StaticPool. Used to apply some advanced settings to a task. */
export declare class StaticTaskExecutor<ParamType, ResultType> extends BaseTaskExecutor<ParamType, ResultType> {
}
/** Executor for DynamicPool. Used to apply some advanced settings to a task. */
export declare class DynamicTaskExecutor<ParamType, ResultType> extends BaseTaskExecutor<ParamType, ResultType> {
private _code;
constructor(dynamicPool: DynamicPool, task: Function);
exec(param?: ParamType): Promise<ResultType>;
}
export {};