"@release-it/keep-a-changelog": "^5.0.0",
"@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^11.1.5",
- "@types/node": "^20.10.6",
+ "@types/node": "^20.10.7",
"@typescript-eslint/eslint-plugin": "^6.18.0",
"@typescript-eslint/parser": "^6.18.0",
"benchmark": "^2.1.4",
version: 1.4.1
'@commitlint/cli':
specifier: ^18.4.4
- version: 18.4.4(@types/node@20.10.6)(typescript@5.3.3)
+ version: 18.4.4(@types/node@20.10.7)(typescript@5.3.3)
'@commitlint/config-conventional':
specifier: ^18.4.4
version: 18.4.4
specifier: ^11.1.5
version: 11.1.5(rollup@4.9.4)(typescript@5.3.3)
'@types/node':
- specifier: ^20.10.6
- version: 20.10.6
+ specifier: ^20.10.7
+ version: 20.10.7
'@typescript-eslint/eslint-plugin':
specifier: ^6.18.0
version: 6.18.0(@typescript-eslint/parser@6.18.0)(eslint@8.56.0)(typescript@5.3.3)
dev: true
optional: true
- /@commitlint/cli@18.4.4(@types/node@20.10.6)(typescript@5.3.3):
+ /@commitlint/cli@18.4.4(@types/node@20.10.7)(typescript@5.3.3):
resolution: {integrity: sha512-Ro3wIo//fV3XiV1EkdpHog6huaEyNcUAVrSmtgKqYM5g982wOWmP4FXvEDFwRMVgz878CNBvvCc33dMZ5AQJ/g==}
engines: {node: '>=v18'}
hasBin: true
dependencies:
'@commitlint/format': 18.4.4
'@commitlint/lint': 18.4.4
- '@commitlint/load': 18.4.4(@types/node@20.10.6)(typescript@5.3.3)
+ '@commitlint/load': 18.4.4(@types/node@20.10.7)(typescript@5.3.3)
'@commitlint/read': 18.4.4
'@commitlint/types': 18.4.4
execa: 5.1.1
'@commitlint/types': 18.4.4
dev: true
- /@commitlint/load@18.4.4(@types/node@20.10.6)(typescript@5.3.3):
+ /@commitlint/load@18.4.4(@types/node@20.10.7)(typescript@5.3.3):
resolution: {integrity: sha512-RaDIa9qwOw2xRJ3Jr2DBXd14rmnHJIX2XdZF4kmoF1rgsg/+7cvrExLSUNAkQUNimyjCn1b/bKX2Omm+GdY0XQ==}
engines: {node: '>=v18'}
dependencies:
'@commitlint/types': 18.4.4
chalk: 4.1.2
cosmiconfig: 8.3.6(typescript@5.3.3)
- cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.6)(cosmiconfig@8.3.6)(typescript@5.3.3)
+ cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.7)(cosmiconfig@8.3.6)(typescript@5.3.3)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 20.10.6
+ '@types/node': 20.10.7
'@types/yargs': 17.0.32
chalk: 4.1.2
dev: true
resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
dependencies:
'@types/minimatch': 5.1.2
- '@types/node': 20.10.6
+ '@types/node': 20.10.7
dev: true
/@types/http-cache-semantics@4.0.4:
resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
dev: true
- /@types/node@20.10.6:
- resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==}
+ /@types/node@20.10.7:
+ resolution: {integrity: sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==}
dependencies:
undici-types: 5.26.5
dev: true
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
dev: true
- /cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.6)(cosmiconfig@8.3.6)(typescript@5.3.3):
+ /cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.7)(cosmiconfig@8.3.6)(typescript@5.3.3):
resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==}
engines: {node: '>=v16'}
peerDependencies:
cosmiconfig: '>=8.2'
typescript: '>=4'
dependencies:
- '@types/node': 20.10.6
+ '@types/node': 20.10.7
cosmiconfig: 8.3.6(typescript@5.3.3)
jiti: 1.21.0
typescript: 5.3.3
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
'@jest/types': 29.6.3
- '@types/node': 20.10.6
+ '@types/node': 20.10.7
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
requiresBuild: true
dependencies:
node-addon-api: 5.1.0
- node-gyp-build: 4.7.1
+ node-gyp-build: 4.8.0
dev: true
/mime-db@1.52.0:
formdata-polyfill: 4.0.10
dev: true
- /node-gyp-build@4.7.1:
- resolution: {integrity: sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==}
+ /node-gyp-build@4.8.0:
+ resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
hasBin: true
dev: true
ready: this.ready,
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
strategy: this.opts.workerChoiceStrategy!,
+ strategyRetries: this.workerChoiceStrategyContext?.retriesCount ?? 0,
minSize: this.minimumNumberOfWorkers,
maxSize: this.maximumNumberOfWorkers ?? this.minimumNumberOfWorkers,
...(this.workerChoiceStrategyContext?.getTaskStatisticsRequirements()
readonly started: boolean
readonly ready: boolean
readonly strategy: WorkerChoiceStrategy
+ readonly strategyRetries: number
readonly minSize: number
readonly maxSize: number
/** Pool utilization. */
Data = unknown,
Response = unknown
> {
+ /**
+ * The number of worker choice strategy execution retries.
+ */
+ public retriesCount: number
+
/**
* The worker choice strategy instances registered in the context.
*/
>
/**
- * The number of worker choice strategy execution retries.
+ * The maximum number of worker choice strategy execution retries.
*/
private readonly retries: number
>(pool, opts)
]
])
+ this.retriesCount = 0
this.retries = getWorkerChoiceStrategyRetries(pool, opts)
}
do {
workerNodeKey = workerChoiceStrategy.choose()
if (workerNodeKey == null && chooseCount > 0) {
- retriesCount++
+ ++retriesCount
+ ++this.retriesCount
}
chooseCount++
} while (workerNodeKey == null && retriesCount < this.retries)
started: true,
ready: true,
strategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ strategyRetries: 0,
minSize: numberOfWorkers,
maxSize: numberOfWorkers,
workerNodes: numberOfWorkers,
started: true,
ready: true,
strategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ strategyRetries: 0,
minSize: Math.floor(numberOfWorkers / 2),
maxSize: numberOfWorkers,
workerNodes: Math.floor(numberOfWorkers / 2),
started: true,
ready: true,
strategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ strategyRetries: expect.any(Number),
minSize: expect.any(Number),
maxSize: expect.any(Number),
workerNodes: expect.any(Number),
started: true,
ready: true,
strategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ strategyRetries: expect.any(Number),
minSize: expect.any(Number),
maxSize: expect.any(Number),
workerNodes: expect.any(Number),
started: true,
ready: true,
strategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ strategyRetries: expect.any(Number),
minSize: expect.any(Number),
maxSize: expect.any(Number),
workerNodes: expect.any(Number),
started: true,
ready: true,
strategy: WorkerChoiceStrategies.ROUND_ROBIN,
+ strategyRetries: expect.any(Number),
minSize: expect.any(Number),
maxSize: expect.any(Number),
workerNodes: expect.any(Number),