diff --git a/src/main/java/com/mini/capi/job/jobController.java b/src/main/java/com/mini/capi/api/job/jobController.java similarity index 80% rename from src/main/java/com/mini/capi/job/jobController.java rename to src/main/java/com/mini/capi/api/job/jobController.java index 4a01dab..89f0b79 100644 --- a/src/main/java/com/mini/capi/job/jobController.java +++ b/src/main/java/com/mini/capi/api/job/jobController.java @@ -1,13 +1,17 @@ -package com.mini.capi.job; +package com.mini.capi.api.job; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.mini.capi.biz.domain.BizMonitorHost; import com.mini.capi.biz.service.BizMonitorHostService; +import com.mini.capi.model.ApiResult; import com.mini.capi.utils.NetworkUtils; import jakarta.annotation.Resource; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.util.ArrayList; @@ -15,7 +19,8 @@ import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; -@Controller +@RestController +@RequestMapping("/jobApi") public class jobController { @@ -27,10 +32,10 @@ public class jobController { private ThreadPoolTaskExecutor hostMonitorExecutor; /** - * 主机在线状态检测,每10分钟检测一次 + * 主机在线状态检测 */ - @Scheduled(cron = "0 0/10 * * * ?") - public void getJobMonitHostStatus() { + @GetMapping("getJobMonitHostStatus") + public ApiResult getJobMonitHostStatus() { List monitorHosts = bizMonitorHostService.list(); List> futures = new ArrayList<>(monitorHosts.size()); for (BizMonitorHost monitorHost : monitorHosts) { @@ -50,11 +55,13 @@ public class jobController { }, hostMonitorExecutor); // 指定使用配置的线程池 futures.add(future); } + try { CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])) .get(60, TimeUnit.SECONDS); // 超时时间可根据业务调整 } catch (Exception e) { - System.out.println(e.getMessage()); + return ApiResult.error(101, e.getMessage()); } + return ApiResult.success(); } }