zhaowenyu
2025-12-16 1932bcd3b99877deed7d47acccd2951c1e05e6ce
2025-12-16 zwy 优化-定时任务
1 files modified
11 ■■■■■ changed files
ard-sample/src/main/java/com/ard/sample/wayline/service/impl/FlightTaskServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
ard-sample/src/main/java/com/ard/sample/wayline/service/impl/FlightTaskServiceImpl.java
@@ -168,7 +168,7 @@
        if (Objects.isNull(jobIdValue)) {
            return;
        }
        log.info("Check the timed tasks of the wayline. {}", jobIdValue);
        log.info("检查 wayline 的定时任务。 {}", jobIdValue);
        // format: {workspace_id}:{dock_sn}:{job_id}
        String[] jobArr = String.valueOf(jobIdValue).split(RedisConst.DELIMITER);
        double time = RedisOpsUtils.zScore(RedisConst.WAYLINE_JOB_TIMED_EXECUTE, jobIdValue);
@@ -204,8 +204,9 @@
        long now = System.currentTimeMillis();
        int offset = 30_000;
        // Expired tasks are deleted directly.
        // 过期任务会直接删除。
        if (time < now - offset) {
            log.info("定时任务超时,jobId: {}", jobArr[1]);
            RedisOpsUtils.zRemove(RedisConst.WAYLINE_JOB_TIMED_EXECUTE, jobIdValue);
            waylineJobService.updateJob(WaylineJobDTO.builder()
                    .jobId(jobArr[1])
@@ -218,11 +219,11 @@
        if (now <= time && time <= now + offset) {
            try {
                waylineJobService.executeFlightTask(jobArr[2]);
                waylineJobService.executeFlightTask(jobArr[1]);
            } catch (Exception e) {
                log.info("The scheduled task delivery failed.");
                log.info("计划中的任务交付失败了。jobId: {},异常信息:{}", jobArr[1], e.getMessage());
                waylineJobService.updateJob(WaylineJobDTO.builder()
                        .jobId(jobArr[2])
                        .jobId(jobArr[1])
                        .status(WaylineJobStatusEnum.FAILED.getVal())
                        .executeTime(LocalDateTime.now())
                        .completedTime(LocalDateTime.now())