medWaitTime: false
})
}
- expect(pool.workerChoiceStrategyContext.getTaskStatistics()).toStrictEqual({
+ expect(
+ pool.workerChoiceStrategyContext.getTaskStatisticsRequirements()
+ ).toStrictEqual({
runTime: true,
avgRunTime: true,
medRunTime: false,
.workerChoiceStrategies) {
expect(workerChoiceStrategy.opts).toStrictEqual({ medRunTime: true })
}
- expect(pool.workerChoiceStrategyContext.getTaskStatistics()).toStrictEqual({
+ expect(
+ pool.workerChoiceStrategyContext.getTaskStatisticsRequirements()
+ ).toStrictEqual({
runTime: true,
avgRunTime: false,
medRunTime: true,
.workerChoiceStrategies) {
expect(workerChoiceStrategy.opts).toStrictEqual({ medRunTime: false })
}
- expect(pool.workerChoiceStrategyContext.getTaskStatistics()).toStrictEqual({
+ expect(
+ pool.workerChoiceStrategyContext.getTaskStatisticsRequirements()
+ ).toStrictEqual({
runTime: true,
avgRunTime: true,
medRunTime: false,
workerNodes: numberOfWorkers,
idleWorkerNodes: numberOfWorkers,
busyWorkerNodes: 0,
- runningTasks: 0,
+ executedTasks: 0,
+ executingTasks: 0,
queuedTasks: 0,
- maxQueuedTasks: 0
+ maxQueuedTasks: 0,
+ failedTasks: 0
})
await pool.destroy()
pool = new DynamicClusterPool(
workerNodes: numberOfWorkers,
idleWorkerNodes: numberOfWorkers,
busyWorkerNodes: 0,
- runningTasks: 0,
+ executedTasks: 0,
+ executingTasks: 0,
queuedTasks: 0,
- maxQueuedTasks: 0
+ maxQueuedTasks: 0,
+ failedTasks: 0
})
await pool.destroy()
})
'./tests/worker-files/cluster/testWorker.js'
)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.tasksUsage).toStrictEqual({
- ran: 0,
- running: 0,
- runTime: 0,
- runTimeHistory: expect.any(CircularArray),
- avgRunTime: 0,
- medRunTime: 0,
- waitTime: 0,
- waitTimeHistory: expect.any(CircularArray),
- avgWaitTime: 0,
- medWaitTime: 0,
- error: 0,
+ expect(workerNode.workerUsage).toStrictEqual({
+ tasks: {
+ executed: 0,
+ executing: 0,
+ queued: 0,
+ failed: 0
+ },
+ runTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
+ waitTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
elu: undefined
})
}
promises.add(pool.execute())
}
for (const workerNode of pool.workerNodes) {
- expect(workerNode.tasksUsage).toStrictEqual({
- ran: 0,
- running: maxMultiplier,
- runTime: 0,
- runTimeHistory: expect.any(CircularArray),
- avgRunTime: 0,
- medRunTime: 0,
- waitTime: 0,
- waitTimeHistory: expect.any(CircularArray),
- avgWaitTime: 0,
- medWaitTime: 0,
- error: 0,
+ expect(workerNode.workerUsage).toStrictEqual({
+ tasks: {
+ executed: 0,
+ executing: maxMultiplier,
+ queued: 0,
+ failed: 0
+ },
+ runTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
+ waitTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
elu: undefined
})
}
await Promise.all(promises)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.tasksUsage).toStrictEqual({
- ran: maxMultiplier,
- running: 0,
- runTime: 0,
- runTimeHistory: expect.any(CircularArray),
- avgRunTime: 0,
- medRunTime: 0,
- waitTime: 0,
- waitTimeHistory: expect.any(CircularArray),
- avgWaitTime: 0,
- medWaitTime: 0,
- error: 0,
+ expect(workerNode.workerUsage).toStrictEqual({
+ tasks: {
+ executed: maxMultiplier,
+ executing: 0,
+ queued: 0,
+ failed: 0
+ },
+ runTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
+ waitTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
elu: undefined
})
}
}
await Promise.all(promises)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.tasksUsage).toStrictEqual({
- ran: expect.any(Number),
- running: 0,
- runTime: 0,
- runTimeHistory: expect.any(CircularArray),
- avgRunTime: 0,
- medRunTime: 0,
- waitTime: 0,
- waitTimeHistory: expect.any(CircularArray),
- avgWaitTime: 0,
- medWaitTime: 0,
- error: 0,
+ expect(workerNode.workerUsage).toStrictEqual({
+ tasks: {
+ executed: expect.any(Number),
+ executing: 0,
+ queued: 0,
+ failed: 0
+ },
+ runTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
+ waitTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
elu: undefined
})
- expect(workerNode.tasksUsage.ran).toBeGreaterThan(0)
- expect(workerNode.tasksUsage.ran).toBeLessThanOrEqual(maxMultiplier)
+ expect(workerNode.workerUsage.tasks.executed).toBeGreaterThan(0)
+ expect(workerNode.workerUsage.tasks.executed).toBeLessThanOrEqual(
+ maxMultiplier
+ )
}
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.tasksUsage).toStrictEqual({
- ran: 0,
- running: 0,
- runTime: 0,
- runTimeHistory: expect.any(CircularArray),
- avgRunTime: 0,
- medRunTime: 0,
- waitTime: 0,
- waitTimeHistory: expect.any(CircularArray),
- avgWaitTime: 0,
- medWaitTime: 0,
- error: 0,
+ expect(workerNode.workerUsage).toStrictEqual({
+ tasks: {
+ executed: 0,
+ executing: 0,
+ queued: 0,
+ failed: 0
+ },
+ runTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
+ waitTime: {
+ aggregation: 0,
+ average: 0,
+ median: 0,
+ history: expect.any(CircularArray)
+ },
elu: undefined
})
- expect(workerNode.tasksUsage.runTimeHistory.length).toBe(0)
- expect(workerNode.tasksUsage.waitTimeHistory.length).toBe(0)
+ expect(workerNode.workerUsage.runTime.history.length).toBe(0)
+ expect(workerNode.workerUsage.waitTime.history.length).toBe(0)
}
await pool.destroy()
})
workerNodes: expect.any(Number),
idleWorkerNodes: expect.any(Number),
busyWorkerNodes: expect.any(Number),
- runningTasks: expect.any(Number),
+ executedTasks: expect.any(Number),
+ executingTasks: expect.any(Number),
queuedTasks: expect.any(Number),
- maxQueuedTasks: expect.any(Number)
+ maxQueuedTasks: expect.any(Number),
+ failedTasks: expect.any(Number)
})
await pool.destroy()
})
workerNodes: expect.any(Number),
idleWorkerNodes: expect.any(Number),
busyWorkerNodes: expect.any(Number),
- runningTasks: expect.any(Number),
+ executedTasks: expect.any(Number),
+ executingTasks: expect.any(Number),
queuedTasks: expect.any(Number),
- maxQueuedTasks: expect.any(Number)
+ maxQueuedTasks: expect.any(Number),
+ failedTasks: expect.any(Number)
})
await pool.destroy()
})