+
+ // /**
+ // * Finds the first free worker node key based on the number of tasks the worker has applied.
+ // *
+ // * If a worker is found with `0` executing tasks, it is detected as free and its worker node key is returned.
+ // *
+ // * If no free worker is found, `-1` is returned.
+ // *
+ // * @returns A worker node key if there is one, `-1` otherwise.
+ // */
+ // private findFirstFreeWorkerNodeKey (): number {
+ // return this.pool.workerNodes.findIndex(workerNode => {
+ // return workerNode.usage.tasks.executing === 0
+ // })
+ // }
+
+ // /**
+ // * Finds the last free worker node key based on the number of tasks the worker has applied.
+ // *
+ // * If a worker is found with `0` executing tasks, it is detected as free and its worker node key is returned.
+ // *
+ // * If no free worker is found, `-1` is returned.
+ // *
+ // * @returns A worker node key if there is one, `-1` otherwise.
+ // */
+ // private findLastFreeWorkerNodeKey (): number {
+ // // It requires node >= 18.0.0:
+ // // return this.pool.workerNodes.findLastIndex(workerNode => {
+ // // return workerNode.usage.tasks.executing === 0
+ // // })
+ // for (
+ // let workerNodeKey = this.pool.workerNodes.length - 1;
+ // workerNodeKey >= 0;
+ // workerNodeKey--
+ // ) {
+ // if (this.pool.workerNodes[workerNodeKey].usage.tasks.executing === 0) {
+ // return workerNodeKey
+ // }
+ // }
+ // return -1
+ // }