fix: fix worker node event emitter memory leak
[poolifier.git] / src / pools / selection-strategies / abstract-worker-choice-strategy.ts
index 7a64a7e563f9d6d8e1fffdac9ce91d1bc64d5b1e..c364933358528ef3ade54a3cc3dd474cf2c2d9d3 100644 (file)
@@ -123,7 +123,16 @@ export abstract class AbstractWorkerChoiceStrategy<
    * @returns Whether the worker node is ready or not.
    */
   protected isWorkerNodeReady (workerNodeKey: number): boolean {
-    return this.pool.workerNodes[workerNodeKey]?.info.ready ?? false
+    return this.pool.workerNodes[workerNodeKey]?.info?.ready ?? false
+  }
+
+  /**
+   * Check the next worker node readiness.
+   */
+  protected checkNextWorkerNodeReadiness (): void {
+    if (!this.isWorkerNodeReady(this.nextWorkerNodeKey as number)) {
+      delete this.nextWorkerNodeKey
+    }
   }
 
   /**