feat: worker node readiness aware worker choice strategies
[poolifier.git] / src / pools / selection-strategies / least-busy-worker-choice-strategy.ts
index 928b1b2a932488132e3dcbb5a3c8b3d2be4b9892..b61bca1c8bdf450083474d8e2d8e78fef48ea2bc 100644 (file)
@@ -66,10 +66,10 @@ export class LeastBusyWorkerChoiceStrategy<
       const workerTime =
         (workerNode.usage.runTime?.aggregate ?? 0) +
         (workerNode.usage.waitTime?.aggregate ?? 0)
-      if (workerTime === 0) {
+      if (this.workerNodeReady(workerNodeKey) && workerTime === 0) {
         this.nextWorkerNodeId = workerNodeKey
         break
-      } else if (workerTime < minTime) {
+      } else if (this.workerNodeReady(workerNodeKey) && workerTime < minTime) {
         minTime = workerTime
         this.nextWorkerNodeId = workerNodeKey
       }