X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fcluster%2Ffixed.ts;h=d6481be720914c2af14c56bf0182030aa0a456da;hb=refs%2Ftags%2Fv3.1.8;hp=f3fb54bbf4a08bd0ee6d28f623f3ac04f55630f1;hpb=c3719753af0a9be03abf722a7543495359e817b5;p=poolifier.git diff --git a/src/pools/cluster/fixed.ts b/src/pools/cluster/fixed.ts index f3fb54bb..d6481be7 100644 --- a/src/pools/cluster/fixed.ts +++ b/src/pools/cluster/fixed.ts @@ -26,9 +26,10 @@ export class FixedClusterPool< public constructor ( numberOfWorkers: number, filePath: string, - protected readonly opts: PoolOptions = {} + opts: PoolOptions = {}, + maximumNumberOfWorkers?: number ) { - super(numberOfWorkers, filePath, opts) + super(numberOfWorkers, filePath, opts, maximumNumberOfWorkers) } /** @inheritDoc */ @@ -41,26 +42,6 @@ export class FixedClusterPool< return cluster.isPrimary } - /** @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() - }) - }) - workerNode.registerOnceWorkerEventHandler('disconnect', () => { - workerNode.worker.kill() - }) - await this.sendKillMessageToWorker(workerNodeKey) - workerNode.removeAllListeners() - workerNode.worker.disconnect() - await waitWorkerExit - } - /** @inheritDoc */ protected sendToWorker ( workerNodeKey: number,