enableTasksQueue: false,
restartWorkerOnError: true,
startWorkers: true,
- workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ workerChoiceStrategy: WorkerChoiceStrategies.LEAST_USED,
})
for (const [, workerChoiceStrategy] of pool.workerChoiceStrategiesContext
.workerChoiceStrategies) {
)
expect(pool.info).toStrictEqual({
busyWorkerNodes: 0,
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
executedTasks: 0,
executingTasks: 0,
failedTasks: 0,
)
expect(pool.info).toStrictEqual({
busyWorkerNodes: 0,
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
dynamicWorkerNodes: 0,
executedTasks: 0,
executingTasks: 0,
expect(poolReady).toBe(1)
expect(poolInfo).toStrictEqual({
busyWorkerNodes: 0,
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
dynamicWorkerNodes: 0,
executedTasks: 0,
executingTasks: 0,
expect(poolBusy).toBe(1)
expect(poolBusyInfo).toStrictEqual({
busyWorkerNodes: numberOfWorkers,
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
executedTasks: expect.any(Number),
executingTasks: expect.any(Number),
failedTasks: expect.any(Number),
expect(poolBusyEnd).toBe(1)
expect(poolBusyEndInfo).toStrictEqual({
busyWorkerNodes: expect.any(Number),
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
executedTasks: expect.any(Number),
executingTasks: expect.any(Number),
failedTasks: expect.any(Number),
expect(poolFull).toBe(1)
expect(poolFullInfo).toStrictEqual({
busyWorkerNodes: expect.any(Number),
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
dynamicWorkerNodes: Math.floor(numberOfWorkers / 2),
executedTasks: expect.any(Number),
executingTasks: expect.any(Number),
expect(poolFullEnd).toBe(1)
expect(poolFullEndInfo).toStrictEqual({
busyWorkerNodes: expect.any(Number),
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
dynamicWorkerNodes: 0,
executedTasks: expect.any(Number),
executingTasks: expect.any(Number),
backPressure: true,
backPressureWorkerNodes: numberOfWorkers,
busyWorkerNodes: expect.any(Number),
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
executedTasks: expect.any(Number),
executingTasks: expect.any(Number),
failedTasks: expect.any(Number),
backPressure: false,
backPressureWorkerNodes: expect.any(Number),
busyWorkerNodes: expect.any(Number),
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
executedTasks: expect.any(Number),
executingTasks: expect.any(Number),
failedTasks: expect.any(Number),
expect(poolEmpty).toBe(1)
expect(poolInfo).toStrictEqual({
busyWorkerNodes: 0,
- defaultStrategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ defaultStrategy: WorkerChoiceStrategies.LEAST_USED,
dynamicWorkerNodes: 0,
executedTasks: expect.any(Number),
executingTasks: expect.any(Number),
])
expect([
...dynamicThreadPool.workerChoiceStrategiesContext.workerChoiceStrategies.keys(),
- ]).toStrictEqual([WorkerChoiceStrategies.ROUND_ROBIN])
+ ]).toStrictEqual([WorkerChoiceStrategies.LEAST_USED])
const echoTaskFunction = data => {
return data
}
expect([
...dynamicThreadPool.workerChoiceStrategiesContext.workerChoiceStrategies.keys(),
]).toStrictEqual([
- WorkerChoiceStrategies.ROUND_ROBIN,
+ WorkerChoiceStrategies.LEAST_USED,
WorkerChoiceStrategies.LEAST_ELU,
])
expect(dynamicThreadPool.listTaskFunctionsProperties()).toStrictEqual([
expect([
...dynamicThreadPool.workerChoiceStrategiesContext.workerChoiceStrategies.keys(),
]).toStrictEqual([
- WorkerChoiceStrategies.ROUND_ROBIN,
+ WorkerChoiceStrategies.LEAST_USED,
WorkerChoiceStrategies.LEAST_ELU,
])
expect(dynamicThreadPool.listTaskFunctionsProperties()).toStrictEqual([
expect(dynamicThreadPool.taskFunctions.get('echo')).toBeUndefined()
expect([
...dynamicThreadPool.workerChoiceStrategiesContext.workerChoiceStrategies.keys(),
- ]).toStrictEqual([WorkerChoiceStrategies.ROUND_ROBIN])
+ ]).toStrictEqual([WorkerChoiceStrategies.LEAST_USED])
expect(dynamicThreadPool.listTaskFunctionsProperties()).toStrictEqual([
{ name: DEFAULT_TASK_NAME },
{ name: 'test' },
workerChoiceStrategiesContext.workerChoiceStrategies.get(
workerChoiceStrategiesContext.defaultWorkerChoiceStrategy
)
- ).toBeInstanceOf(RoundRobinWorkerChoiceStrategy)
+ ).toBeInstanceOf(LeastUsedWorkerChoiceStrategy)
workerChoiceStrategiesContext = new WorkerChoiceStrategiesContext(
dynamicPool
)
workerChoiceStrategiesContext.workerChoiceStrategies.get(
workerChoiceStrategiesContext.defaultWorkerChoiceStrategy
)
- ).toBeInstanceOf(RoundRobinWorkerChoiceStrategy)
+ ).toBeInstanceOf(LeastUsedWorkerChoiceStrategy)
})
it('Verify that constructor() initializes the context with retries attribute properly set', () => {
fixedPool
)
expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
- WorkerChoiceStrategies.ROUND_ROBIN
+ WorkerChoiceStrategies.LEAST_USED
)
const workerChoiceStrategyUndefinedStub =
workerChoiceStrategiesContext.workerChoiceStrategies.get(
fixedPool
)
expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
- WorkerChoiceStrategies.ROUND_ROBIN
+ WorkerChoiceStrategies.LEAST_USED
)
const workerChoiceStrategyStub =
workerChoiceStrategiesContext.workerChoiceStrategies.get(
fixedPool
)
expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
- WorkerChoiceStrategies.ROUND_ROBIN
+ WorkerChoiceStrategies.LEAST_USED
)
const workerChoiceStrategyStub =
workerChoiceStrategiesContext.workerChoiceStrategies.get(
dynamicPool
)
expect(workerChoiceStrategiesContext.defaultWorkerChoiceStrategy).toBe(
- WorkerChoiceStrategies.ROUND_ROBIN
+ WorkerChoiceStrategies.LEAST_USED
)
const workerChoiceStrategyStub =
workerChoiceStrategiesContext.workerChoiceStrategies.get(
workerChoiceStrategiesContext.workerChoiceStrategies.get(
workerChoiceStrategiesContext.defaultWorkerChoiceStrategy
)
- ).toBeInstanceOf(RoundRobinWorkerChoiceStrategy)
+ ).toBeInstanceOf(LeastUsedWorkerChoiceStrategy)
workerChoiceStrategiesContext.setDefaultWorkerChoiceStrategy(
WorkerChoiceStrategies.ROUND_ROBIN
)
workerChoiceStrategiesContext.workerChoiceStrategies.get(
workerChoiceStrategiesContext.defaultWorkerChoiceStrategy
)
- ).toBeInstanceOf(RoundRobinWorkerChoiceStrategy)
+ ).toBeInstanceOf(LeastUsedWorkerChoiceStrategy)
workerChoiceStrategiesContext.setDefaultWorkerChoiceStrategy(
WorkerChoiceStrategies.ROUND_ROBIN
)