From 5b80061274095f8a763289bbaa9fc50d0266b45b Mon Sep 17 00:00:00 2001 From: LE SAULNIER Kevin Date: Thu, 5 Mar 2026 15:21:54 +0100 Subject: [PATCH] add loadbalanding for consumeRun consumers Signed-off-by: LE SAULNIER Kevin --- .../DynamicMarginCalculationWorkerService.java | 8 ++++++-- src/main/resources/config/application.yaml | 11 +++++++---- src/test/resources/application-default.yml | 4 ++++ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java index b306f0a..64e0d43 100644 --- a/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java +++ b/src/main/java/org/gridsuite/dynamicmargincalculation/server/service/DynamicMarginCalculationWorkerService.java @@ -221,8 +221,12 @@ protected void handleNonCancellationException(AbstractResultContext> consumeRun() { + public Consumer> consumeRun1() { + return super.consumeRun(); + } + + @Bean + public Consumer> consumeRun2() { return super.consumeRun(); } diff --git a/src/main/resources/config/application.yaml b/src/main/resources/config/application.yaml index f71f747..4aaf12a 100644 --- a/src/main/resources/config/application.yaml +++ b/src/main/resources/config/application.yaml @@ -4,15 +4,16 @@ spring: cloud: function: - definition: consumeRun;consumeCancel + definition: consumeRun1;consumeRun2;consumeCancel stream: bindings: - consumeRun-in-0: + consumeRun1-in-0: &consumeRunConfig destination: ${powsybl-ws.rabbitmq.destination.prefix:}dmc.run group: dmcGroup consumer: - concurrency: 2 max-attempts: 1 + consumeRun2-in-0: + <<: *consumeRunConfig publishRun-out-0: destination: ${powsybl-ws.rabbitmq.destination.prefix:}dmc.run publishDebug-out-0: @@ -30,7 +31,7 @@ spring: output-bindings: publishRun-out-0;publishDebug-out-0;publishResult-out-0;publishCancel-out-0;publishStopped-out-0;publishCancelFailed-out-0 rabbit: bindings: - consumeRun-in-0: + consumeRun1-in-0: &consumeRunRabbitConfig consumer: auto-bind-dlq: true dead-letter-exchange: ${powsybl-ws.rabbitmq.destination.prefix:}dmc.run.dlx @@ -39,6 +40,8 @@ spring: quorum: enabled: true delivery-limit: 2 + consumeRun2-in-0: + <<: *consumeRunRabbitConfig computation: s3: diff --git a/src/test/resources/application-default.yml b/src/test/resources/application-default.yml index beccab7..355608b 100644 --- a/src/test/resources/application-default.yml +++ b/src/test/resources/application-default.yml @@ -4,6 +4,10 @@ spring: properties: dialect: org.hibernate.dialect.H2Dialect hibernate.format_sql: true + cloud: + function: + # disable consumeRun2 during test - all of them receive the "dmcGroup" messages otherwise + definition: consumeRun1;consumeCancel logging: level: