- `workerChoiceStrategyOptions` (optional) - The worker choice strategy options object to use in this pool.
Properties:
- - `choiceRetries` (optional) - The number of retries to perform if no worker is eligible.
+ - `retries` (optional) - The number of retries to perform if no worker is eligible.
- `measurement` (optional) - The measurement to use in worker choice strategies: `runTime`, `waitTime` or `elu`.
- `runTime` (optional) - Use the tasks [simple moving median](./worker-choice-strategies.md#simple-moving-median) runtime instead of the tasks simple moving average runtime in worker choice strategies.
- `waitTime` (optional) - Use the tasks [simple moving median](./worker-choice-strategies.md#simple-moving-median) wait time instead of the tasks simple moving average wait time in worker choice strategies.
- `elu` (optional) - Use the tasks [simple moving median](./worker-choice-strategies.md#simple-moving-median) ELU instead of the tasks simple moving average ELU in worker choice strategies.
- `weights` (optional) - The worker weights to use in weighted round robin worker choice strategies: `{ 0: 200, 1: 300, ..., n: 100 }`.
- Default: `{ choiceRetries: 6, runTime: { median: false }, waitTime: { median: false }, elu: { median: false } }`
+ Default: `{ retries: 6, runTime: { median: false }, waitTime: { median: false }, elu: { median: false } }`
- `restartWorkerOnError` (optional) - Restart worker on uncaught error in this pool.
Default: `true`
WorkerChoiceStrategies.ROUND_ROBIN
)
expect(pool.opts.workerChoiceStrategyOptions).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
})
expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
WorkerChoiceStrategies.LEAST_USED
)
expect(pool.opts.workerChoiceStrategyOptions).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: true },
waitTime: { median: false },
elu: { median: false },
weights: { 0: 300, 1: 200 }
})
expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: true },
waitTime: { median: false },
elu: { median: false },
'./tests/worker-files/thread/testWorker.js',
{
workerChoiceStrategyOptions: {
- choiceRetries: 'invalidChoiceRetries'
+ retries: 'invalidChoiceRetries'
}
}
)
).toThrowError(
new TypeError(
- 'Invalid worker choice strategy options: choice retries must be an integer'
+ 'Invalid worker choice strategy options: retries must be an integer'
)
)
expect(
'./tests/worker-files/thread/testWorker.js',
{
workerChoiceStrategyOptions: {
- choiceRetries: -1
+ retries: -1
}
}
)
).toThrowError(
new RangeError(
- "Invalid worker choice strategy options: choice retries '-1' must be greater or equal than zero"
+ "Invalid worker choice strategy options: retries '-1' must be greater or equal than zero"
)
)
expect(
{ workerChoiceStrategy: WorkerChoiceStrategies.FAIR_SHARE }
)
expect(pool.opts.workerChoiceStrategyOptions).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
})
expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext
.workerChoiceStrategies) {
expect(workerChoiceStrategy.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
elu: { median: true }
})
expect(pool.opts.workerChoiceStrategyOptions).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: true },
waitTime: { median: false },
elu: { median: true }
})
expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: true },
waitTime: { median: false },
elu: { median: true }
for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext
.workerChoiceStrategies) {
expect(workerChoiceStrategy.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: true },
waitTime: { median: false },
elu: { median: true }
elu: { median: false }
})
expect(pool.opts.workerChoiceStrategyOptions).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
})
expect(pool.workerChoiceStrategyContext.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
for (const [, workerChoiceStrategy] of pool.workerChoiceStrategyContext
.workerChoiceStrategies) {
expect(workerChoiceStrategy.opts).toStrictEqual({
- choiceRetries: 6,
+ retries: 6,
runTime: { median: false },
waitTime: { median: false },
elu: { median: false }
)
expect(() =>
pool.setWorkerChoiceStrategyOptions({
- choiceRetries: 'invalidChoiceRetries'
+ retries: 'invalidChoiceRetries'
})
).toThrowError(
new TypeError(
- 'Invalid worker choice strategy options: choice retries must be an integer'
+ 'Invalid worker choice strategy options: retries must be an integer'
)
)
expect(() =>
- pool.setWorkerChoiceStrategyOptions({ choiceRetries: -1 })
+ pool.setWorkerChoiceStrategyOptions({ retries: -1 })
).toThrowError(
new RangeError(
- "Invalid worker choice strategy options: choice retries '-1' must be greater or equal than zero"
+ "Invalid worker choice strategy options: retries '-1' must be greater or equal than zero"
)
)
expect(() =>