- constructor(workerScript: string, numberOfThreads: number, startWorkerDelay?: number, opts?: PoolOptions<Worker>) {
- super(workerScript, startWorkerDelay);
- opts.exitHandler = opts?.exitHandler ?? WorkerUtils.defaultExitHandler;
- this.pool = new FixedThreadPool(numberOfThreads, this.workerScript, opts);
+ constructor(workerScript: string, workerOptions?: WorkerOptions) {
+ super(workerScript, workerOptions);
+ this.workerOptions.poolOptions.errorHandler = (
+ this.workerOptions?.poolOptions?.errorHandler ?? WorkerUtils.defaultErrorHandler
+ ).bind(this) as ErrorHandler<Worker>;
+ this.workerOptions.poolOptions.exitHandler = (
+ this.workerOptions?.poolOptions?.exitHandler ?? WorkerUtils.defaultExitHandler
+ ).bind(this) as ExitHandler<Worker>;
+ this.workerOptions.poolOptions.messageHandler.bind(this);
+ this.pool = new FixedThreadPool(
+ this.workerOptions.poolMaxSize,
+ this.workerScript,
+ this.workerOptions.poolOptions
+ );