diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/ScheduledTasksConfig.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/ScheduledTasksConfig.kt index e5936575..142b15e9 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/ScheduledTasksConfig.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/ScheduledTasksConfig.kt @@ -2,12 +2,14 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.config import io.getunleash.Unleash import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.BarnetrygdmottakerService +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.SendTilBestemService import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.monitorering.StatusCheckTask import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.monitorering.StatusRapporteringCachingAdapter import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.repository.BarnetrygdmottakerRepository import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.metrics.Metrikker import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.tasks.BarnetrygdmottakerProcessingTask import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.tasks.FrigiLaserTask +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.tasks.SendTilBestemTask import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Profile @@ -41,4 +43,13 @@ class ScheduledTasksConfig( unleash = unleash, ) } + + @Bean + fun sendToBestemTask(sendTilBestemService: SendTilBestemService): SendTilBestemTask { + return SendTilBestemTask( + service = sendTilBestemService, + metrikker = metrikker, + unleash = unleash, + ) + } } \ No newline at end of file diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/UnleashConfig.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/UnleashConfig.kt index 51948c7e..b48a6074 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/UnleashConfig.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/config/UnleashConfig.kt @@ -32,6 +32,7 @@ class UnleashConfig( enum class Feature(val toggleName: String) { PROSESSER_BARNETRYGDMOTTAKER("omsorgsopptjening-start-innlesning-prosesser-barnetrygdmottaker"), + SEND_TIL_BESTEM("omsorgsopptjening-start-innlesning-send-til-bestem"), } } diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/metrics/Metrikker.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/metrics/Metrikker.kt index 17aaffb8..be87239d 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/metrics/Metrikker.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/metrics/Metrikker.kt @@ -17,6 +17,7 @@ class Metrikker(private val registry: MeterRegistry) { private val hentPdlTimer = registry.timer("hentpdl", "tidsbruk", "hentet") private val antallFeiledeMeldinger = registry.counter("meldinger", "antall", "feilet") + private val antallSendtTilBestem = registry.counter("barnetrygdinformasjon", "antall", "sendt") private val antallKlar = registry.counter("barnetrygdmottaker", "status", "klar") private val antallFerdig = registry.counter("barnetrygdmottaker", "status", "ferdig") @@ -73,4 +74,8 @@ class Metrikker(private val registry: MeterRegistry) { fun målFeiletMelding(lambda: () -> Unit) { antallFeiledeMeldinger.increment() } + + fun tellSendtTilBestem(antall: Int) { + antallSendtTilBestem.increment(antall.toDouble()) + } } \ No newline at end of file diff --git a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/tasks/SendToBestemTask.kt b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/tasks/SendTilBestemTask.kt similarity index 62% rename from src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/tasks/SendToBestemTask.kt rename to src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/tasks/SendTilBestemTask.kt index 20527138..0191437c 100644 --- a/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/tasks/SendToBestemTask.kt +++ b/src/main/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/tasks/SendTilBestemTask.kt @@ -1,23 +1,24 @@ package no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.tasks import io.getunleash.Unleash -import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.BarnetrygdmottakerService +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdinformasjon +import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.SendTilBestemService import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.config.UnleashConfig import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.metrics.Metrikker import org.slf4j.LoggerFactory import org.springframework.scheduling.annotation.Scheduled -class SendToBestemTask( - private val service: BarnetrygdmottakerService, +class SendTilBestemTask( + private val service: SendTilBestemService, private val metrikker: Metrikker, private val unleash: Unleash, ) : Runnable { companion object { - val log = LoggerFactory.getLogger(SendToBestemTask::class.java)!! + val log = LoggerFactory.getLogger(SendTilBestemTask::class.java)!! } - @Scheduled(fixedDelay = 1000) + @Scheduled(fixedDelay = 5000) override fun run() { try { if (isEnabled()) { @@ -34,17 +35,18 @@ class SendToBestemTask( log.info("Sender all tilgjengelig barnetrygdinformasjon til bestem (via kafka)") var harGjortNoe = true while (harGjortNoe) { - val barnetrygdmottakere = metrikker.tellBarnetrygdmottakerStatus { - service.process() + val prosessert: List? = service.process() + if (prosessert?.isNotEmpty() == true) { + metrikker.tellSendtTilBestem(prosessert.size) } - harGjortNoe = !barnetrygdmottakere.isNullOrEmpty() + val harGjortNoe = prosessert.isNullOrEmpty() if (harGjortNoe) { - log.info("Prosessert ${barnetrygdmottakere?.size} barnetrygdmottakere") + log.info("Prosessert ${prosessert?.size} barnetrygdmottakere") } } } private fun isEnabled(): Boolean { - return unleash.isEnabled(UnleashConfig.Feature.PROSESSER_BARNETRYGDMOTTAKER.toggleName) + return unleash.isEnabled(UnleashConfig.Feature.SEND_TIL_BESTEM.toggleName) } } \ No newline at end of file diff --git a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt index 4e9a6d4c..f54a513b 100644 --- a/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt +++ b/src/test/kotlin/no/nav/pensjon/opptjening/omsorgsopptjening/start/innlesning/barnetrygd/repository/BarnetrygdinformasjonRepositoryTest.kt @@ -13,7 +13,6 @@ import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.d import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdinformasjon import no.nav.pensjon.opptjening.omsorgsopptjening.start.innlesning.barnetrygd.domain.Barnetrygdmottaker import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired import java.time.Instant