| | |
| | | } |
| | | Long totalDur = 0L; |
| | | try { |
| | | mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.PROCESSING, totalDur); |
| | | mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.PROCESSING, totalDur, predictTime); |
| | | PredictItemHandler predictItemHandler = predictItemFactory.create(predictItem.getId()); |
| | | Instant start = Instant.now(); |
| | | long start = System.currentTimeMillis(); |
| | | try { |
| | | // 预测项开始预测 |
| | | predictResult = predictItemHandler.predict(predictTime, predictItem); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error(String.valueOf(e)); |
| | | mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur, predictTime); |
| | | continue; |
| | | } |
| | | Instant end = Instant.now(); |
| | | Long drtPre = Duration.between(start, end).getSeconds(); |
| | | log.info(MessageFormat.format("预测项:{0},预测时间:{1}秒", predictItem.getItemName(), drtPre)); |
| | | long end = System.currentTimeMillis(); |
| | | Long drtPre = end - start; |
| | | log.info(MessageFormat.format("预测项:{0},预测时间:{1}ms", predictItem.getItemName(), drtPre)); |
| | | totalDur = totalDur + drtPre; |
| | | |
| | | predictResult.setGranularity(predictItem.getGranularity()); |
| | |
| | | |
| | | // 保存预测结果 |
| | | predictResultHandler.savePredictResult(predictResult); |
| | | Instant endSave = Instant.now(); |
| | | Long drtSave = Duration.between(end, endSave).getSeconds(); |
| | | log.info(MessageFormat.format("预测项:{0},保存时间:{1}秒", predictItem.getItemName(), |
| | | long endSave = System.currentTimeMillis(); |
| | | Long drtSave = endSave - end; |
| | | log.info(MessageFormat.format("预测项:{0},保存时间:{1}ms", predictItem.getItemName(), |
| | | drtSave)); |
| | | totalDur = totalDur + drtSave; |
| | | mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.SUCCESS, totalDur); |
| | | mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.SUCCESS, totalDur, predictTime); |
| | | result.put(predictItem.getItemNo(), predictResult); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error(MessageFormat.format("预测项编号:{0},预测项名称:{1},预测失败:{2} 预测时刻:{3}", |
| | | predictItem.getId(), predictItem.getItemName(), e.getMessage(), predictTime)); |
| | | mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur); |
| | | mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur, predictTime); |
| | | } |
| | | } |
| | | return result; |