WorkerChoiceStrategy
} from './selection-strategies-types'
import { WorkerChoiceStrategies } from './selection-strategies-types'
-import { SelectionStrategiesUtils } from './selection-strategies-utils'
+import { getWorkerChoiceStrategy } from './selection-strategies-utils'
/**
* Selects the next worker for dynamic pool.
Data,
Response
> extends AbstractWorkerChoiceStrategy<Worker, Data, Response> {
- private workerChoiceStrategy: IWorkerChoiceStrategy<Worker>
+ private readonly workerChoiceStrategy: IWorkerChoiceStrategy<Worker>
/**
* Constructs a worker choice strategy for dynamic pool.
workerChoiceStrategy: WorkerChoiceStrategy = WorkerChoiceStrategies.ROUND_ROBIN
) {
super(pool)
- this.workerChoiceStrategy = SelectionStrategiesUtils.getWorkerChoiceStrategy(
+ this.workerChoiceStrategy = getWorkerChoiceStrategy(
this.pool,
workerChoiceStrategy
)
/** @inheritDoc */
public choose (): Worker {
const freeWorker = this.pool.findFreeWorker()
- if (freeWorker) {
+ if (freeWorker !== false) {
return freeWorker
}
- if (this.pool.busy === true) {
+ if (this.pool.busy) {
return this.workerChoiceStrategy.choose()
}