expect(workerNode.tasksUsage.running).toBeLessThanOrEqual(
queuePool.opts.tasksQueueOptions.concurrency
)
- expect(workerNode.tasksUsage.run).toBe(0)
+ expect(workerNode.tasksUsage.ran).toBe(0)
expect(workerNode.tasksQueue.size).toBeGreaterThan(0)
}
- expect(queuePool.numberOfRunningTasks).toBe(numberOfWorkers)
- expect(queuePool.numberOfQueuedTasks).toBe(
+ expect(queuePool.info.runningTasks).toBe(numberOfWorkers)
+ expect(queuePool.info.queuedTasks).toBe(
+ numberOfWorkers * maxMultiplier - numberOfWorkers
+ )
+ expect(queuePool.info.maxQueuedTasks).toBe(
numberOfWorkers * maxMultiplier - numberOfWorkers
)
await Promise.all(promises)
for (const workerNode of queuePool.workerNodes) {
expect(workerNode.tasksUsage.running).toBe(0)
- expect(workerNode.tasksUsage.run).toBeGreaterThan(0)
- expect(workerNode.tasksUsage.run).toBeLessThanOrEqual(maxMultiplier)
+ expect(workerNode.tasksUsage.ran).toBeGreaterThan(0)
+ expect(workerNode.tasksUsage.ran).toBeLessThanOrEqual(maxMultiplier)
expect(workerNode.tasksQueue.size).toBe(0)
}
})
it('Verify that error handling is working properly:sync', async () => {
const data = { f: 10 }
+ let taskError
+ errorPool.emitter.on(PoolEvents.taskError, e => {
+ taskError = e
+ })
let inError
try {
await errorPool.execute(data)
expect(inError).toBeDefined()
expect(typeof inError === 'string').toBe(true)
expect(inError).toBe('Error Message from ClusterWorker')
+ expect(taskError).toStrictEqual({
+ error: 'Error Message from ClusterWorker',
+ errorData: data
+ })
expect(
errorPool.workerNodes.some(
workerNode => workerNode.tasksUsage.error === 1
it('Verify that error handling is working properly:async', async () => {
const data = { f: 10 }
+ // let taskError
+ // errorPool.emitter.on(PoolEvents.taskError, e => {
+ // taskError = e
+ // })
let inError
try {
await asyncErrorPool.execute(data)
expect(inError).toBeDefined()
expect(typeof inError === 'string').toBe(true)
expect(inError).toBe('Error Message from ClusterWorker:async')
+ // expect(taskError).toStrictEqual({
+ // error: 'Error Message from ClusterWorker:async',
+ // errorData: data
+ // })
expect(
asyncErrorPool.workerNodes.some(
workerNode => workerNode.tasksUsage.error === 1