From 284c854a5d1d3b093c6e9d6b070a8cfbb8df43f1 Mon Sep 17 00:00:00 2001 From: Srzou Date: Tue, 8 Apr 2025 22:07:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.5.0):=20=E5=A2=9E=E5=8A=A0=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=97=A5=E5=BF=97=E7=9A=84=E5=BC=82=E6=AD=A5=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/web/config/ThreadPoolConfig.java | 25 +++++++++++++++++++ .../web/listener/WsRequestListener.java | 7 +----- 2 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/config/ThreadPoolConfig.java diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/config/ThreadPoolConfig.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/config/ThreadPoolConfig.java new file mode 100644 index 000000000..0175d0c85 --- /dev/null +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/config/ThreadPoolConfig.java @@ -0,0 +1,25 @@ +package com.aizuda.snailjob.server.web.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.CustomizableThreadFactory; + +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +@EnableAsync +@Configuration +public class ThreadPoolConfig { + @Bean("logQueryExecutor") + public ThreadPoolExecutor logQueryExecutor() { + return new ThreadPoolExecutor( + 3, + 16, + 30, + TimeUnit.SECONDS, + new LinkedBlockingQueue<>(1000), + new CustomizableThreadFactory("snail-job-log-query-")); + } +} diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/listener/WsRequestListener.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/listener/WsRequestListener.java index 3a39dbe49..b2893d773 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/listener/WsRequestListener.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/listener/WsRequestListener.java @@ -5,17 +5,12 @@ import com.aizuda.snailjob.server.common.enums.WebSocketSceneEnum; import com.aizuda.snailjob.server.common.vo.JobLogQueryVO; import com.aizuda.snailjob.server.web.model.event.WsRequestEvent; import com.aizuda.snailjob.server.web.service.JobLogService; -import jakarta.websocket.Session; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; -import java.io.IOException; - -import static com.aizuda.snailjob.server.web.socket.LogServer.USER_SESSION; - /** * @Author:srzou * @Package:com.aizuda.snailjob.server.web.listener @@ -30,7 +25,7 @@ import static com.aizuda.snailjob.server.web.socket.LogServer.USER_SESSION; public class WsRequestListener { private final JobLogService jobLogService; - @Async + @Async("logQueryExecutor") @EventListener(classes = WsRequestEvent.class) public void getJobLogs(WsRequestEvent requestVO) { if (!WebSocketSceneEnum.JOB_LOG_SCENE.equals(requestVO.getSceneEnum())) {