X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fabstract-pool.ts;h=8319a33eca58ec7954f987ef36289580622a8410;hb=d41a44de8cc111add35f7daa7834e23055bce558;hp=6b95be9482664deaa1131eced2ccbe3ccb48ca8a;hpb=1b5a0303f57fbff1125882e04766cb0cf9cc000d;p=poolifier.git diff --git a/src/pools/abstract-pool.ts b/src/pools/abstract-pool.ts index 6b95be94..8319a33e 100644 --- a/src/pools/abstract-pool.ts +++ b/src/pools/abstract-pool.ts @@ -57,6 +57,7 @@ import { checkValidTasksQueueOptions, checkValidWorkerChoiceStrategy, updateMeasurementStatistics + // waitWorkerNodeEvents } from './utils' /** @@ -1046,8 +1047,13 @@ export abstract class AbstractPool< protected async destroyWorkerNode (workerNodeKey: number): Promise { this.flagWorkerNodeAsNotReady(workerNodeKey) this.flushTasksQueue(workerNodeKey) - // FIXME: wait for tasks to be finished const workerNode = this.workerNodes[workerNodeKey] + // FIXME: wait for tasks to be finished + // await waitWorkerNodeEvents( + // workerNode, + // 'taskFinished', + // workerNode.usage.tasks.executing + // ) await this.sendKillMessageToWorker(workerNodeKey) await workerNode.terminate() } @@ -1757,6 +1763,7 @@ export abstract class AbstractPool< this.afterTaskExecutionHook(workerNodeKey, message) this.workerChoiceStrategyContext.update(workerNodeKey) this.promiseResponseMap.delete(taskId as string) + this.workerNodes[workerNodeKey].emit('taskFinished', taskId) if (this.opts.enableTasksQueue === true) { const workerNodeTasksUsage = this.workerNodes[workerNodeKey].usage.tasks if (