docs: fixlet to code comment
[poolifier.git] / src / pools / abstract-pool.ts
index 67a22ffe04898f590ab70669a9d49934d6f90ad6..473789809d2dde4ea57571dd1a2ded5dd7499477 100644 (file)
@@ -7,13 +7,13 @@ import {
 } from '../utils'
 import { KillBehaviors, isKillBehavior } from '../worker/worker-options'
 import {
+  PoolEmitter,
   PoolEvents,
   type IPool,
   type PoolOptions,
   type TasksQueueOptions,
   PoolType
 } from './pool'
-import { PoolEmitter } from './pool'
 import type { IWorker, Task, TasksUsage, WorkerNode } from './worker'
 import {
   WorkerChoiceStrategies,
@@ -296,28 +296,11 @@ export abstract class AbstractPool<
   protected abstract get busy (): boolean
 
   protected internalBusy (): boolean {
-    return this.findFreeWorkerNodeKey() === -1
-  }
-
-  /** @inheritDoc */
-  public findFreeWorkerNodeKey (): number {
-    return this.workerNodes.findIndex(workerNode => {
-      return workerNode.tasksUsage?.running === 0
-    })
-  }
-
-  /** @inheritDoc */
-  public findLastFreeWorkerNodeKey (): number {
-    // It requires node >= 18.0.0
-    // return this.workerNodes.findLastIndex(workerNode => {
-    //   return workerNode.tasksUsage?.running === 0
-    // })
-    for (let i = this.workerNodes.length - 1; i >= 0; i--) {
-      if (this.workerNodes[i].tasksUsage?.running === 0) {
-        return i
-      }
-    }
-    return -1
+    return (
+      this.workerNodes.findIndex(workerNode => {
+        return workerNode.tasksUsage?.running === 0
+      }) === -1
+    )
   }
 
   /** @inheritDoc */
@@ -445,7 +428,7 @@ export abstract class AbstractPool<
         ) {
           // Kill message received from the worker: no new tasks are submitted to that worker for a while ( > maxInactiveTime)
           this.flushTasksQueueByWorker(workerCreated)
-          void this.destroyWorker(workerCreated)
+          void (this.destroyWorker(workerCreated) as Promise<void>)
         }
       })
       workerNodeKey = this.getWorkerNodeKey(workerCreated)