zjh
4 天以前 3067ad92965d6b48db42b4cd7a37f2116e52f4c0
ltkj-admin/src/main/java/com/ltkj/web/config/timer/AsyncResultTask.java
@@ -95,15 +95,17 @@
        // 将该用户ID添加到已调度任务集合中
        scheduledTasks.add(dictHosp.getCode());
        // 创建定时任务,任务将在15分钟后执行
        taskScheduler.schedule(() -> {
/*        taskScheduler.schedule(() -> {
            try {
                // 执行任务的超时控制
                taskScheduler.schedule(() -> {
                    executeTask(dictHosp);
                }, Instant.now());
            } catch (Exception e) {
                log.error("创建任务时发生异常:{}", e.getMessage());
            }
        }, Instant.now().plus(15, ChronoUnit.MINUTES));*/
        log.info("任务创建成功 ->{}",dictHosp.getCode());
        // 执行任务的超时控制
        taskScheduler.schedule(() -> {
            executeTask(dictHosp);
        }, Instant.now().plus(15, ChronoUnit.MINUTES));
    }
@@ -219,10 +221,12 @@
    // 检查并添加新的用户任务
    public void checkAndAddNewTasks() {
        DataSourceContextHolder.setDataSourceKey(DataSourceType.MASTER.name());
        // 获取所有需要同步日志的用户列表
        LambdaQueryWrapper<DictHosp> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(DictHosp::getIsAutoAsyncJg,1);
        List<DictHosp> hospList = dictHospService.list(wrapper);
        log.info("检查并添加需要同步的医院列表:{}", JSONUtil.toJsonStr(hospList));
        hospList.forEach(this::createTask);
        taskScheduler.schedule(this::checkAndAddNewTasks, Instant.now().plus(2, ChronoUnit.MINUTES));
    }