it('Verify ROUND_ROBIN strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
it('Verify ROUND_ROBIN strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
'./tests/worker-files/thread/testWorker.js',
{ workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN }
)
'./tests/worker-files/thread/testWorker.js',
{ workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN }
)
// TODO: Create a better test to cover `RoundRobinWorkerChoiceStrategy#choose`
const promises = []
for (let i = 0; i < max * 2; i++) {
// TODO: Create a better test to cover `RoundRobinWorkerChoiceStrategy#choose`
const promises = []
for (let i = 0; i < max * 2; i++) {
'./tests/worker-files/thread/testWorker.js',
{ workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN }
)
'./tests/worker-files/thread/testWorker.js',
{ workerChoiceStrategy: WorkerChoiceStrategies.ROUND_ROBIN }
)
// TODO: Create a better test to cover `RoundRobinWorkerChoiceStrategy#choose`
const promises = []
for (let i = 0; i < max * 2; i++) {
// TODO: Create a better test to cover `RoundRobinWorkerChoiceStrategy#choose`
const promises = []
for (let i = 0; i < max * 2; i++) {
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
it('Verify LESS_USED strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
it('Verify LESS_USED strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
it('Verify LESS_BUSY strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
it('Verify LESS_BUSY strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
.workerLastVirtualTaskTimestamp.get(workerNodeKey).start
).toBe(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
.workerLastVirtualTaskTimestamp.get(workerNodeKey).start
).toBe(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
it('Verify FAIR_SHARE strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
it('Verify FAIR_SHARE strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
).workerLastVirtualTaskTimestamp.size
).toBe(pool.workerNodes.length)
// We need to clean up the resources after our test
).workerLastVirtualTaskTimestamp.size
).toBe(pool.workerNodes.length)
// We need to clean up the resources after our test
// if (process.platform !== 'win32') {
// expect(
// pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
// if (process.platform !== 'win32') {
// expect(
// pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
).toBeDefined()
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE)
for (const workerNodeKey of pool.workerChoiceStrategyContext.workerChoiceStrategies
).toBeDefined()
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE)
for (const workerNodeKey of pool.workerChoiceStrategyContext.workerChoiceStrategies
.workerLastVirtualTaskTimestamp.get(workerNodeKey).start
).toBe(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
.workerLastVirtualTaskTimestamp.get(workerNodeKey).start
).toBe(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
).toBeDefined()
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE)
for (const workerNodeKey of pool.workerChoiceStrategyContext.workerChoiceStrategies
).toBeDefined()
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.FAIR_SHARE)
for (const workerNodeKey of pool.workerChoiceStrategyContext.workerChoiceStrategies
.workerLastVirtualTaskTimestamp.get(workerNodeKey).start
).toBe(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
.workerLastVirtualTaskTimestamp.get(workerNodeKey).start
).toBe(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
.workersTaskRunTime.get(workerNodeKey).weight
).toBeGreaterThan(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
.workersTaskRunTime.get(workerNodeKey).weight
).toBeGreaterThan(0)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies
it('Verify WEIGHTED_ROUND_ROBIN strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
it('Verify WEIGHTED_ROUND_ROBIN strategy default tasks usage statistics requirements', async () => {
let pool = new FixedThreadPool(
max,
).workersTaskRunTime.size
).toBe(pool.workerNodes.length)
// We need to clean up the resources after our test
).workersTaskRunTime.size
).toBe(pool.workerNodes.length)
// We need to clean up the resources after our test
).defaultWorkerWeight * 50
for (let i = 0; i < max * maxMultiplier; i++) {
promises.push(pool.execute())
).defaultWorkerWeight * 50
for (let i = 0; i < max * maxMultiplier; i++) {
promises.push(pool.execute())
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(
pool.setWorkerChoiceStrategy(WorkerChoiceStrategies.WEIGHTED_ROUND_ROBIN)
expect(
pool.workerChoiceStrategyContext.workerChoiceStrategies.get(