Skip to content

Commit fbb6051

Browse files
committed
chore: sync code
Signed-off-by: Jérôme Benoit <[email protected]>
1 parent 654ed90 commit fbb6051

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

src/pools/selection-strategies/least-elu-worker-choice-strategy.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ export class LeastEluWorkerChoiceStrategy<
3030
public override readonly taskStatisticsRequirements:
3131
TaskStatisticsRequirements = Object.freeze({
3232
runTime: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
33-
waitTime: DEFAULT_MEASUREMENT_STATISTICS_REQUIREMENTS,
33+
waitTime: {
34+
aggregate: true,
35+
average: false,
36+
median: false,
37+
},
3438
elu: {
3539
aggregate: true,
3640
average: false,
@@ -78,8 +82,10 @@ export class LeastEluWorkerChoiceStrategy<
7882
if (minWorkerNodeKey === -1) {
7983
return workerNodeKey
8084
}
81-
return (workerNode.usage.elu.active.aggregate ?? 0) <
82-
(workerNodes[minWorkerNodeKey].usage.elu.active.aggregate ?? 0)
85+
return (workerNode.usage.waitTime.aggregate ?? 0) +
86+
(workerNode.usage.elu.active.aggregate ?? 0) <
87+
(workerNodes[minWorkerNodeKey].usage.waitTime.aggregate ?? 0) +
88+
(workerNodes[minWorkerNodeKey].usage.elu.active.aggregate ?? 0)
8389
? workerNodeKey
8490
: minWorkerNodeKey
8591
},

tests/pools/selection-strategies/selection-strategies.test.mjs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,7 @@ describe('Selection strategies test suite', () => {
875875
// median: false,
876876
// },
877877
// waitTime: {
878-
// aggregate: false,
878+
// aggregate: true,
879879
// average: false,
880880
// median: false,
881881
// },
@@ -901,7 +901,7 @@ describe('Selection strategies test suite', () => {
901901
// median: false,
902902
// },
903903
// waitTime: {
904-
// aggregate: false,
904+
// aggregate: true,
905905
// average: false,
906906
// median: false,
907907
// },
@@ -942,9 +942,9 @@ describe('Selection strategies test suite', () => {
942942
// runTime: {
943943
// history: expect.any(CircularBuffer),
944944
// },
945-
// waitTime: {
945+
// waitTime: expect.objectContaining({
946946
// history: expect.any(CircularBuffer),
947-
// },
947+
// }),
948948
// elu: expect.objectContaining({
949949
// idle: expect.objectContaining({
950950
// history: expect.any(CircularBuffer),
@@ -958,6 +958,11 @@ describe('Selection strategies test suite', () => {
958958
// expect(workerNode.usage.tasks.executed).toBeLessThanOrEqual(
959959
// max * maxMultiplier,
960960
// )
961+
// if (workerNode.usage.waitTime.aggregate == null) {
962+
// expect(workerNode.usage.waitTime.aggregate).toBeUndefined()
963+
// } else {
964+
// expect(workerNode.usage.waitTime.aggregate).toBeGreaterThan(0)
965+
// }
961966
// if (workerNode.usage.elu.active.aggregate == null) {
962967
// expect(workerNode.usage.elu.active.aggregate).toBeUndefined()
963968
// } else {
@@ -1017,9 +1022,9 @@ describe('Selection strategies test suite', () => {
10171022
// runTime: {
10181023
// history: expect.any(CircularBuffer),
10191024
// },
1020-
// waitTime: {
1025+
// waitTime: expect.objectContaining({
10211026
// history: expect.any(CircularBuffer),
1022-
// },
1027+
// }),
10231028
// elu: expect.objectContaining({
10241029
// idle: expect.objectContaining({
10251030
// history: expect.any(CircularBuffer),
@@ -1033,6 +1038,11 @@ describe('Selection strategies test suite', () => {
10331038
// expect(workerNode.usage.tasks.executed).toBeLessThanOrEqual(
10341039
// max * maxMultiplier,
10351040
// )
1041+
// if (workerNode.usage.waitTime.aggregate == null) {
1042+
// expect(workerNode.usage.waitTime.aggregate).toBeUndefined()
1043+
// } else {
1044+
// expect(workerNode.usage.waitTime.aggregate).toBeGreaterThan(0)
1045+
// }
10361046
// if (workerNode.usage.elu.active.aggregate == null) {
10371047
// expect(workerNode.usage.elu.active.aggregate).toBeUndefined()
10381048
// } else {

0 commit comments

Comments
 (0)