DynamicThreadPool,
FixedClusterPool,
FixedThreadPool,
- PoolEvents,
WorkerChoiceStrategies
} = require('../../../lib')
const { CircularArray } = require('../../../lib/circular-array')
-const { waitPoolEvents } = require('../../test-utils')
describe('Selection strategies test suite', () => {
const min = 0
WorkerChoiceStrategies.INTERLEAVED_WEIGHTED_ROUND_ROBIN
}
)
- if (!pool.info.ready) {
- await waitPoolEvents(pool, PoolEvents.ready, 1)
- }
// TODO: Create a better test to cover `InterleavedWeightedRoundRobinWorkerChoiceStrategy#choose`
const promises = new Set()
const maxMultiplier = 2
WorkerChoiceStrategies.INTERLEAVED_WEIGHTED_ROUND_ROBIN
}
)
- if (!pool.info.ready) {
- await waitPoolEvents(pool, PoolEvents.ready, 1)
- }
// TODO: Create a better test to cover `InterleavedWeightedRoundRobinWorkerChoiceStrategy#choose`
const promises = new Set()
const maxMultiplier = 2
for (const workerNode of pool.workerNodes) {
expect(workerNode.usage).toStrictEqual({
tasks: {
- executed: expect.any(Number),
+ executed: maxMultiplier,
executing: 0,
queued: 0,
maxQueued: 0,
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.workerChoiceStrategyContext.workerChoiceStrategy
).nextWorkerNodeKey
- ).toBe(1)
+ ).toBe(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.workerChoiceStrategyContext.workerChoiceStrategy