liriming
2024-11-26 5b952f77058a9da5af5e143a6c2c7ba195aa736d
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java
@@ -56,19 +56,21 @@
            }
            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());
@@ -78,18 +80,18 @@
                // 保存预测结果
                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;