X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpools%2Fthread%2Ffixed.ts;h=d2f4df8e43f8fe0a905e115510c0c22424891313;hb=bcc9e518ccacb739018c92de22011fa4e8d47ece;hp=e5074e392b45a94c1e9b80376cc08d3624a5c155;hpb=c3719753af0a9be03abf722a7543495359e817b5;p=poolifier.git diff --git a/src/pools/thread/fixed.ts b/src/pools/thread/fixed.ts index e5074e39..d2f4df8e 100644 --- a/src/pools/thread/fixed.ts +++ b/src/pools/thread/fixed.ts @@ -32,9 +32,10 @@ export class FixedThreadPool< public constructor ( numberOfThreads: number, filePath: string, - protected readonly opts: PoolOptions = {} + opts: PoolOptions = {}, + maximumNumberOfThreads?: number ) { - super(numberOfThreads, filePath, opts) + super(numberOfThreads, filePath, opts, maximumNumberOfThreads) } /** @inheritDoc */ @@ -42,24 +43,6 @@ export class FixedThreadPool< return isMainThread } - /** @inheritDoc */ - protected async destroyWorkerNode (workerNodeKey: number): Promise { - this.flagWorkerNodeAsNotReady(workerNodeKey) - this.flushTasksQueue(workerNodeKey) - // FIXME: wait for tasks to be finished - const workerNode = this.workerNodes[workerNodeKey] - const waitWorkerExit = new Promise(resolve => { - workerNode.registerOnceWorkerEventHandler('exit', () => { - resolve() - }) - }) - await this.sendKillMessageToWorker(workerNodeKey) - workerNode.closeChannel() - workerNode.removeAllListeners() - await workerNode.worker.terminate() - await waitWorkerExit - } - /** @inheritDoc */ protected sendToWorker ( workerNodeKey: number,