fuliqi
2025-02-21 2705449e4cf84b135bceb49df8b583987abf1f14
ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -75,8 +75,8 @@
    private String passwd;
    private static final ExecutorService executorService = new ThreadPoolExecutor(16,
            128,
            5000,
            64,
            60,
            TimeUnit.SECONDS,
            new ArrayBlockingQueue<>(1000),
            new ThreadPoolExecutor.CallerRunsPolicy()
@@ -214,7 +214,7 @@
                            OnlineCheckThread thread = new OnlineCheckThread(monitor, checkPointUtil, time);
                            return thread.call(); // 假设 OnlineCheckThread 实现了 Callable 接口
                        }, executorService)
                        .orTimeout(60, TimeUnit.SECONDS)
                        .orTimeout(180, TimeUnit.SECONDS)
                        .exceptionally(ex -> {
                            if (ex instanceof TimeoutException) {
                                log.error("任务执行超时:"+monitor.getIp());
@@ -247,10 +247,9 @@
        List<String> offLineList = new ArrayList<>();
        List<String> onLineList = new ArrayList<>();
        //查出数据库纯车辆或纯人脸设备
        List<String> serialNumbers = monitorMapper.selectCarOrFace().stream().map(TMonitor::getSerialNumber).collect(Collectors.toList());
//        List<String> serialNumbers = monitorMapper.selectCarOrFace().stream().map(TMonitor::getSerialNumber).collect(Collectors.toList());
        dataList.forEach(item->{
            //更新纯车辆或纯人脸的设备的在线状态(这部分设备不会拉流检测)
            if(item.getPingOnline() && !CollectionUtils.isEmpty(serialNumbers) && serialNumbers.contains(item.getNo())) {
            if(item.getPingOnline()) {
                onLineList.add(item.getIp());
            } else if(!item.getPingOnline()) {
                //筛选出ping离线的设备,更改数据库为离线
@@ -340,7 +339,6 @@
                                item.setNo(item.getDeviceId());
                            }
                        });
                        //貌似这里可以忽略省厅标签因为项目展示的后面ping的时候存的数据
                        pointService.setDeviceTagByGB(records,CheckConstants.Rule_Category_Video);
                        //存放在mongo中
                        mongoTemplate.insertAll(records);