-import {
- DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
- DEFAULT_WORKER_CHOICE_STRATEGY_OPTIONS
-} from '../../utils'
+import { DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS } from '../../utils'
import type { IPool } from '../pool'
import type { IWorker, StrategyData } from '../worker'
import { AbstractWorkerChoiceStrategy } from './abstract-worker-choice-strategy'
import {
type IWorkerChoiceStrategy,
+ type InternalWorkerChoiceStrategyOptions,
Measurements,
- type TaskStatisticsRequirements,
- type WorkerChoiceStrategyOptions
+ type TaskStatisticsRequirements
} from './selection-strategies-types'
/**
/** @inheritDoc */
public constructor (
pool: IPool<Worker, Data, Response>,
- opts: WorkerChoiceStrategyOptions = DEFAULT_WORKER_CHOICE_STRATEGY_OPTIONS
+ opts: InternalWorkerChoiceStrategyOptions
) {
super(pool, opts)
this.setTaskStatisticsRequirements(this.opts)
this.computeWorkerNodeVirtualTaskEndTimestamp(workerNodeKey)
}
}
- return (workerNode.strategyData.virtualTaskEndTimestamp as number) <
- ((workerNodes[minWorkerNodeKey].strategyData as StrategyData)
- .virtualTaskEndTimestamp as number)
+ return this.isWorkerNodeReady(workerNodeKey) &&
+ (workerNode.strategyData.virtualTaskEndTimestamp as number) <
+ ((workerNodes[minWorkerNodeKey].strategyData as StrategyData)
+ .virtualTaskEndTimestamp as number)
? workerNodeKey
: minWorkerNodeKey
},