worker: WorkerTypes.thread,
minSize: numberOfWorkers,
maxSize: numberOfWorkers,
+ utilization: 0,
workerNodes: numberOfWorkers,
idleWorkerNodes: numberOfWorkers,
busyWorkerNodes: 0,
maxQueuedTasks: 0,
failedTasks: 0
})
+ for (const workerNode of pool.workerNodes) {
+ console.log('thread:workerNode.info', workerNode.info)
+ }
await pool.destroy()
pool = new DynamicClusterPool(
numberOfWorkers,
numberOfWorkers * 2,
- './tests/worker-files/thread/testWorker.js'
+ './tests/worker-files/cluster/testWorker.js'
)
expect(pool.info).toStrictEqual({
type: PoolTypes.dynamic,
worker: WorkerTypes.cluster,
minSize: numberOfWorkers,
maxSize: numberOfWorkers * 2,
+ utilization: 0,
workerNodes: numberOfWorkers,
idleWorkerNodes: numberOfWorkers,
busyWorkerNodes: 0,
maxQueuedTasks: 0,
failedTasks: 0
})
+ for (const workerNode of pool.workerNodes) {
+ console.log('cluster:workerNode.info', workerNode.info)
+ }
await pool.destroy()
})
it('Simulate worker not found', async () => {
const pool = new StubPoolWithRemoveAllWorker(
numberOfWorkers,
- './tests/worker-files/cluster/testWorker.js',
+ './tests/worker-files/thread/testWorker.js',
{
errorHandler: e => console.error(e)
}
'./tests/worker-files/cluster/testWorker.js'
)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.workerUsage).toStrictEqual({
+ expect(workerNode.usage).toStrictEqual({
tasks: {
executed: 0,
executing: 0,
promises.add(pool.execute())
}
for (const workerNode of pool.workerNodes) {
- expect(workerNode.workerUsage).toStrictEqual({
+ expect(workerNode.usage).toStrictEqual({
tasks: {
executed: 0,
executing: maxMultiplier,
}
await Promise.all(promises)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.workerUsage).toStrictEqual({
+ expect(workerNode.usage).toStrictEqual({
tasks: {
executed: maxMultiplier,
executing: 0,
}
await Promise.all(promises)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.workerUsage).toStrictEqual({
+ expect(workerNode.usage).toStrictEqual({
tasks: {
executed: expect.any(Number),
executing: 0,
utilization: 0
}
})
- expect(workerNode.workerUsage.tasks.executed).toBeGreaterThan(0)
- expect(workerNode.workerUsage.tasks.executed).toBeLessThanOrEqual(
- maxMultiplier
- )
+ expect(workerNode.usage.tasks.executed).toBeGreaterThan(0)
+ expect(workerNode.usage.tasks.executed).toBeLessThanOrEqual(maxMultiplier)
}
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE)
for (const workerNode of pool.workerNodes) {
- expect(workerNode.workerUsage).toStrictEqual({
+ expect(workerNode.usage).toStrictEqual({
tasks: {
executed: 0,
executing: 0,
utilization: 0
}
})
- expect(workerNode.workerUsage.runTime.history.length).toBe(0)
- expect(workerNode.workerUsage.waitTime.history.length).toBe(0)
+ expect(workerNode.usage.runTime.history.length).toBe(0)
+ expect(workerNode.usage.waitTime.history.length).toBe(0)
}
await pool.destroy()
})
worker: WorkerTypes.thread,
minSize: expect.any(Number),
maxSize: expect.any(Number),
+ utilization: 0,
workerNodes: expect.any(Number),
idleWorkerNodes: expect.any(Number),
busyWorkerNodes: expect.any(Number),
worker: WorkerTypes.thread,
minSize: expect.any(Number),
maxSize: expect.any(Number),
+ utilization: 0,
workerNodes: expect.any(Number),
idleWorkerNodes: expect.any(Number),
busyWorkerNodes: expect.any(Number),