@Override public void run() { try { Map<AggregationKey, AggregationValue> removedKeysMinute = process(reportingDao.averageAggregator.getMinute(), GraphGranularityType.MINUTE); Map<AggregationKey, AggregationValue> removedKeysHour = process(reportingDao.averageAggregator.getHourly(), GraphGranularityType.HOURLY); Map<AggregationKey, AggregationValue> removedKeysDay = process(reportingDao.averageAggregator.getDaily(), GraphGranularityType.DAILY); reportingDBManager.insertReporting(removedKeysMinute, GraphGranularityType.MINUTE); reportingDBManager.insertReporting(removedKeysHour, GraphGranularityType.HOURLY); reportingDBManager.insertReporting(removedKeysDay, GraphGranularityType.DAILY); reportingDBManager.insertReportingRaw(reportingDao.rawDataProcessor.rawStorage); reportingDBManager.cleanOldReportingRecords(Instant.now()); } catch (Exception e) { log.error("Error during reporting job.", e); } }