Pull request #263: Dossier stats buffer cleanup
Merge in RED/persistence-service from dossier-stats-buffer-cleanup to master * commit '5dc829665baccac130a53869a0eccaf4245615b4': cleanup cleanup dossier stats are now in real-time again RED-3452
This commit is contained in:
commit
efda92de6b
@ -1,19 +1,15 @@
|
||||
package com.iqser.red.service.peristence.v1.server.service;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStats;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.DossierStatus;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileModel;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException.DOSSIER_NOT_FOUND_MESSAGE;
|
||||
@ -26,29 +22,29 @@ public class DossierStatsService {
|
||||
private final DossierService dossierService;
|
||||
private final FileStatusService fileStatusService;
|
||||
|
||||
private Map<String, DossierStats> dossierStatsMap = new HashMap<>();
|
||||
// private Map<String, DossierStats> dossierStatsMap = new HashMap<>();
|
||||
|
||||
|
||||
@Scheduled(fixedDelay = 10000, initialDelay = 1000)
|
||||
public void computeDossierStats() {
|
||||
log.info("Computing Dossier Stats ... ");
|
||||
long start = System.currentTimeMillis();
|
||||
Map<String, DossierStats> dossierStatsComputeMap = new HashMap<>();
|
||||
dossierService.getAllDossiers().stream()
|
||||
.filter(d -> !d.getStatus().equals(DossierStatus.DELETED))
|
||||
.forEach(d -> dossierStatsComputeMap.put(d.getId(), computeDossierStats(d)));
|
||||
dossierStatsMap.clear();
|
||||
dossierStatsMap = dossierStatsComputeMap;
|
||||
log.info("Dossier Stats Computed in {}ms", System.currentTimeMillis() - start);
|
||||
}
|
||||
// @Scheduled(fixedDelay = 10000, initialDelay = 1000)
|
||||
// public void computeDossierStats() {
|
||||
// log.info("Computing Dossier Stats ... ");
|
||||
// long start = System.currentTimeMillis();
|
||||
// Map<String, DossierStats> dossierStatsComputeMap = new HashMap<>();
|
||||
// dossierService.getAllDossiers().stream()
|
||||
// .filter(d -> !d.getStatus().equals(DossierStatus.DELETED))
|
||||
// .forEach(d -> dossierStatsComputeMap.put(d.getId(), computeDossierStats(d)));
|
||||
// dossierStatsMap.clear();
|
||||
// dossierStatsMap = dossierStatsComputeMap;
|
||||
// log.info("Dossier Stats Computed in {}ms", System.currentTimeMillis() - start);
|
||||
// }
|
||||
|
||||
public DossierStats getDossierStats(String dossierId) {
|
||||
var stats = dossierStatsMap.get(dossierId);
|
||||
if (stats == null) {
|
||||
stats = computeDossierStats(dossierService.getDossierById(dossierId));
|
||||
dossierStatsMap.put(dossierId, stats);
|
||||
}
|
||||
return stats;
|
||||
// var stats = dossierStatsMap.get(dossierId);
|
||||
// if (stats == null) {
|
||||
// stats = computeDossierStats(dossierService.getDossierById(dossierId));
|
||||
// dossierStatsMap.put(dossierId, stats);
|
||||
// }
|
||||
return computeDossierStats(dossierService.getDossierById(dossierId));
|
||||
}
|
||||
|
||||
private DossierStats computeDossierStats(DossierEntity dossierEntity) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user