repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge dependabot/npm_and_yarn/examples/typescript/http-client-pool/poolifier-3.1...
[poolifier.git]
/
src
/
pools
/
selection-strategies
/
abstract-worker-choice-strategy.ts
diff --git
a/src/pools/selection-strategies/abstract-worker-choice-strategy.ts
b/src/pools/selection-strategies/abstract-worker-choice-strategy.ts
index fe8c7543551b97b09a162136490357e9a90b0083..0a2b6113b8451bfabfd7fc866d59cc71b2f95ef2 100644
(file)
--- a/
src/pools/selection-strategies/abstract-worker-choice-strategy.ts
+++ b/
src/pools/selection-strategies/abstract-worker-choice-strategy.ts
@@
-1,16
+1,16
@@
import {
DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
import {
DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
- build
Internal
WorkerChoiceStrategyOptions
-} from '../../utils'
-import type { IPool } from '../pool'
-import type { IWorker } from '../worker'
+ buildWorkerChoiceStrategyOptions
+} from '../../utils
.js
'
+import type { IPool } from '../pool
.js
'
+import type { IWorker } from '../worker
.js
'
import type {
IWorkerChoiceStrategy,
import type {
IWorkerChoiceStrategy,
- InternalWorkerChoiceStrategyOptions,
MeasurementStatisticsRequirements,
StrategyPolicy,
MeasurementStatisticsRequirements,
StrategyPolicy,
- TaskStatisticsRequirements
-} from './selection-strategies-types'
+ TaskStatisticsRequirements,
+ WorkerChoiceStrategyOptions
+} from './selection-strategies-types.js'
/**
* Worker choice strategy abstract base class.
/**
* Worker choice strategy abstract base class.
@@
-55,31
+55,29
@@
export abstract class AbstractWorkerChoiceStrategy<
*/
public constructor (
protected readonly pool: IPool<Worker, Data, Response>,
*/
public constructor (
protected readonly pool: IPool<Worker, Data, Response>,
- protected opts
: Internal
WorkerChoiceStrategyOptions
+ protected opts
?:
WorkerChoiceStrategyOptions
) {
) {
- // this.setOptions(this.opts)
- this.opts = buildInternalWorkerChoiceStrategyOptions(
- this.pool.info.maxSize,
- this.opts
- )
- this.setTaskStatisticsRequirements(this.opts)
this.choose = this.choose.bind(this)
this.choose = this.choose.bind(this)
+ this.setOptions(this.opts)
}
protected setTaskStatisticsRequirements (
}
protected setTaskStatisticsRequirements (
- opts:
InternalWorkerChoiceStrategyOptions
+ opts:
WorkerChoiceStrategyOptions | undefined
): void {
this.toggleMedianMeasurementStatisticsRequirements(
this.taskStatisticsRequirements.runTime,
): void {
this.toggleMedianMeasurementStatisticsRequirements(
this.taskStatisticsRequirements.runTime,
- opts.runTime?.median as boolean
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.runTime!.median
)
this.toggleMedianMeasurementStatisticsRequirements(
this.taskStatisticsRequirements.waitTime,
)
this.toggleMedianMeasurementStatisticsRequirements(
this.taskStatisticsRequirements.waitTime,
- opts.waitTime?.median as boolean
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.waitTime!.median
)
this.toggleMedianMeasurementStatisticsRequirements(
this.taskStatisticsRequirements.elu,
)
this.toggleMedianMeasurementStatisticsRequirements(
this.taskStatisticsRequirements.elu,
- opts.elu?.median as boolean
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.elu!.median
)
}
)
}
@@
-115,19
+113,14
@@
export abstract class AbstractWorkerChoiceStrategy<
public abstract remove (workerNodeKey: number): boolean
/** @inheritDoc */
public abstract remove (workerNodeKey: number): boolean
/** @inheritDoc */
- public setOptions (opts:
InternalWorkerChoiceStrategyOptions
): void {
- this.opts = build
InternalWorkerChoiceStrategyOptions
(
- this.pool
.info.maxSize
,
+ public setOptions (opts:
WorkerChoiceStrategyOptions | undefined
): void {
+ this.opts = build
WorkerChoiceStrategyOptions<Worker, Data, Response>
(
+ this.pool,
opts
)
this.setTaskStatisticsRequirements(this.opts)
}
opts
)
this.setTaskStatisticsRequirements(this.opts)
}
- /** @inheritDoc */
- public hasPoolWorkerNodesReady (): boolean {
- return this.pool.workerNodes.some(workerNode => workerNode.info.ready)
- }
-
/**
* Whether the worker node is ready or not.
*
/**
* Whether the worker node is ready or not.
*
@@
-142,7
+135,8
@@
export abstract class AbstractWorkerChoiceStrategy<
* Check the next worker node readiness.
*/
protected checkNextWorkerNodeReadiness (): void {
* Check the next worker node readiness.
*/
protected checkNextWorkerNodeReadiness (): void {
- if (!this.isWorkerNodeReady(this.nextWorkerNodeKey as number)) {
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ if (!this.isWorkerNodeReady(this.nextWorkerNodeKey!)) {
delete this.nextWorkerNodeKey
}
}
delete this.nextWorkerNodeKey
}
}