X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=enrichment-coordinator-service%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fenrichment%2Ftasks%2FProducerSupervision.java;h=7852bef6548d714103a69f5d5ee102759a376285;hb=0af4e99bd52a02d439f0ff16dc5363bafdea2a93;hp=c2e4b975b33344043dabeb5b6181d4786fd71935;hpb=32180137b6aca9c3a4519ac00cb573cbae9dca83;p=nonrtric.git diff --git a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/tasks/ProducerSupervision.java b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/tasks/ProducerSupervision.java index c2e4b975..7852bef6 100644 --- a/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/tasks/ProducerSupervision.java +++ b/enrichment-coordinator-service/src/main/java/org/oransc/enrichment/tasks/ProducerSupervision.java @@ -20,11 +20,9 @@ package org.oransc.enrichment.tasks; -import java.time.Duration; - import org.oransc.enrichment.configuration.ApplicationConfig; -import org.oransc.enrichment.controllers.consumer.ConsumerCallbacks; -import org.oransc.enrichment.controllers.producer.ProducerCallbacks; +import org.oransc.enrichment.controllers.a1e.A1eCallbacks; +import org.oransc.enrichment.controllers.r1producer.ProducerCallbacks; import org.oransc.enrichment.repository.EiJob; import org.oransc.enrichment.repository.EiJobs; import org.oransc.enrichment.repository.EiProducer; @@ -52,11 +50,11 @@ public class ProducerSupervision { private final EiProducers eiProducers; private final EiJobs eiJobs; private final ProducerCallbacks producerCallbacks; - private final ConsumerCallbacks consumerCallbacks; + private final A1eCallbacks consumerCallbacks; @Autowired public ProducerSupervision(ApplicationConfig applicationConfig, EiProducers eiProducers, EiJobs eiJobs, - ProducerCallbacks producerCallbacks, ConsumerCallbacks consumerCallbacks) { + ProducerCallbacks producerCallbacks, A1eCallbacks consumerCallbacks) { this.eiProducers = eiProducers; this.eiJobs = eiJobs; this.producerCallbacks = producerCallbacks; @@ -86,19 +84,15 @@ public class ProducerSupervision { } private Mono checkProducerJobs(EiProducer producer) { + final int MAX_CONCURRENCY = 10; return getEiJobs(producer) // .filter(eiJob -> !producer.isJobEnabled(eiJob)) // - .flatMap(eiJob -> startEiJob(producer, eiJob), 1) // + .flatMap(eiJob -> producerCallbacks.startEiJob(producer, eiJob, Retry.max(1)), MAX_CONCURRENCY) // .collectList() // - .flatMapMany(eiJob -> consumerCallbacks.notifyJobStatus(producer.getEiTypes())) // + .flatMapMany(startedJobs -> consumerCallbacks.notifyJobStatus(producer.getEiTypes())) // .collectList(); } - private Mono startEiJob(EiProducer producer, EiJob eiJob) { - Retry retrySpec = Retry.fixedDelay(1, Duration.ofSeconds(1)); - return producerCallbacks.startEiJob(producer, eiJob, retrySpec); - } - private Flux getEiJobs(EiProducer producer) { return Flux.fromIterable(producer.getEiTypes()) // .flatMap(eiType -> Flux.fromIterable(eiJobs.getJobsForType(eiType)));