import {
DynamicThreadPool,
FixedThreadPool,
- WorkerChoiceStrategies
+ WorkerChoiceStrategies,
} from '../../../lib/index.cjs'
import { FairShareWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/fair-share-worker-choice-strategy.cjs'
import { InterleavedWeightedRoundRobinWorkerChoiceStrategy } from '../../../lib/pools/selection-strategies/interleaved-weighted-round-robin-worker-choice-strategy.cjs'
const workerChoiceStrategyUndefinedStub = createStubInstance(
RoundRobinWorkerChoiceStrategy,
{
- choose: stub().returns(undefined)
+ choose: stub().returns(undefined),
}
)
workerChoiceStrategiesContext.workerChoiceStrategies.set(
const workerChoiceStrategyNullStub = createStubInstance(
RoundRobinWorkerChoiceStrategy,
{
- choose: stub().returns(null)
+ choose: stub().returns(null),
}
)
workerChoiceStrategiesContext.workerChoiceStrategies.set(
.returns(undefined)
.onCall(4)
.returns(undefined)
- .returns(1)
+ .returns(1),
}
)
expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
const workerChoiceStrategyStub = createStubInstance(
RoundRobinWorkerChoiceStrategy,
{
- choose: stub().returns(0)
+ choose: stub().returns(0),
}
)
expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
const workerChoiceStrategyStub = createStubInstance(
RoundRobinWorkerChoiceStrategy,
{
- choose: stub().returns(0)
+ choose: stub().returns(0),
}
)
expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
fixedPool,
[wwrWorkerChoiceStrategy],
{
- runTime: { median: true }
+ runTime: { median: true },
+ waitTime: { median: true },
}
)
expect(
workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
.median
).toBe(true)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .average
+ ).toBe(false)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .median
+ ).toBe(true)
workerChoiceStrategiesContext = new WorkerChoiceStrategiesContext(
dynamicPool,
[wwrWorkerChoiceStrategy],
{
- runTime: { median: true }
+ runTime: { median: true },
+ waitTime: { median: true },
}
)
expect(
workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
.median
).toBe(true)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .average
+ ).toBe(false)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .median
+ ).toBe(true)
const fsWorkerChoiceStrategy = WorkerChoiceStrategies.FAIR_SHARE
workerChoiceStrategiesContext = new WorkerChoiceStrategiesContext(
fixedPool,
[fsWorkerChoiceStrategy],
{
- runTime: { median: true }
+ runTime: { median: true },
+ waitTime: { median: true },
}
)
expect(
workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
.median
).toBe(true)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .average
+ ).toBe(false)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .median
+ ).toBe(true)
workerChoiceStrategiesContext = new WorkerChoiceStrategiesContext(
dynamicPool,
[fsWorkerChoiceStrategy],
{
- runTime: { median: true }
+ runTime: { median: true },
+ waitTime: { median: true },
}
)
expect(
workerChoiceStrategiesContext.getTaskStatisticsRequirements().runTime
.median
).toBe(true)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .average
+ ).toBe(false)
+ expect(
+ workerChoiceStrategiesContext.getTaskStatisticsRequirements().waitTime
+ .median
+ ).toBe(true)
})
})