From cdfddb23ec12dad5fd9a19dfbe6e241b845e15e8 Mon Sep 17 00:00:00 2001 From: "Kristen.Herum" Date: Tue, 15 Oct 2024 11:29:36 +0200 Subject: [PATCH] Refactor timeout, delay elements, and filtering logic Updated pendingAcquireTimeout to a longer duration, replaced Thread.sleep with delayElements for non-blocking delay, and added a filter to check for a non-null stillingsprosent. These changes improve performance and reliability by optimizing resource acquisition and ensuring valid data processing. --- .../consumers/PdlConsumer.java | 2 +- .../service/AnsettelseService.java | 1 + .../service/ArbeidsforholdService.java | 11 ++--------- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/consumers/PdlConsumer.java b/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/consumers/PdlConsumer.java index 32935d7538..6c63af3560 100644 --- a/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/consumers/PdlConsumer.java +++ b/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/consumers/PdlConsumer.java @@ -49,7 +49,7 @@ public PdlConsumer( .create(ConnectionProvider.builder("PDL connections") .maxConnections(1) .pendingAcquireMaxCount(10000) - .pendingAcquireTimeout(Duration.ofSeconds(30)) + .pendingAcquireTimeout(Duration.ofSeconds(3000)) .build()))) .build(); } diff --git a/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/AnsettelseService.java b/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/AnsettelseService.java index d3102a88ce..fc7319c60f 100644 --- a/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/AnsettelseService.java +++ b/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/AnsettelseService.java @@ -111,6 +111,7 @@ private Flux getPersonSomKanAnsettes(Integer stillingsprosent, D .flatMap(Flux::fromIterable) .filter(arbeidsavtale -> nonNull(arbeidsavtale.getBruksperiode()) && isNull(arbeidsavtale.getBruksperiode().getTom())) + .filter(arbeidsavtale -> nonNull(arbeidsavtale.getStillingsprosent())) .map(Arbeidsavtale::getStillingsprosent) .reduce(0, (a, b) -> (int) (a + b)) .map(sum -> sum + stillingsprosent <= 100) diff --git a/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/ArbeidsforholdService.java b/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/ArbeidsforholdService.java index cc6890bc59..66b479053c 100644 --- a/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/ArbeidsforholdService.java +++ b/apps/levende-arbeidsforhold-ansettelse/src/main/java/no/nav/testnav/levendearbeidsforholdansettelse/service/ArbeidsforholdService.java @@ -13,10 +13,10 @@ import org.springframework.http.HttpStatusCode; import org.springframework.stereotype.Service; import reactor.core.publisher.Flux; -import reactor.core.scheduler.Schedulers; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.Duration; import java.time.LocalDate; import java.util.List; @@ -55,14 +55,7 @@ public Flux opprettArbeidsforhold(KanAnsettesDTO kanAnsettes, St String arbeidsforholdstype, Integer stillingsprosent) { return aaregConsumer.opprettArbeidsforhold(lagArbeidsforhold(kanAnsettes, yrke, arbeidsforholdstype, stillingsprosent)) - .publishOn(Schedulers.boundedElastic()) - .doOnNext(status -> { - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - }); + .delayElements(Duration.ofSeconds(1)); } /**