Forráskód Böngészése

:fix:配置新的线程池独立提供给@Scheduler的任务使用

zhangxianyu 1 éve
szülő
commit
61d681fa88

+ 22 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/TaskSchedulerConfig.java

@@ -0,0 +1,22 @@
+package com.zanxiang.game.data.serve.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+
+@Configuration
+@EnableScheduling
+public class TaskSchedulerConfig implements SchedulingConfigurer {
+
+    @Override
+    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+        ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
+        threadPoolTaskScheduler.setPoolSize(10); // 根据需求设置线程池大小
+        threadPoolTaskScheduler.setThreadNamePrefix("schedule-task-");
+        threadPoolTaskScheduler.setDaemon(true);
+        threadPoolTaskScheduler.initialize();
+        taskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
+    }
+}

+ 2 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/ThreadPoolConfig.java

@@ -15,7 +15,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 @Configuration
 public class ThreadPoolConfig {
     // 核心线程池大小
-    private final int corePoolSize = 10;
+    private final int corePoolSize = 20;
 
 
     /**
@@ -33,4 +33,5 @@ public class ThreadPoolConfig {
             }
         };
     }
+
 }

+ 2 - 2
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/task/GameMonitorAlarmTask.java

@@ -26,9 +26,9 @@ public class GameMonitorAlarmTask {
     private boolean run;
 
     /**
-     * 任务每3分钟运行一次
+     * 任务每5分钟运行一次
      */
-    @Scheduled(cron = "0 */3 * * * *")
+    @Scheduled(cron = "0 */5 * * * *")
     public void run() {
         log.info("游戏监控告警定时任务开始.");
         if (!run) {

+ 2 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/task/OrderCostMonitorAlarmTask.java

@@ -30,6 +30,7 @@ public class OrderCostMonitorAlarmTask {
      */
     @Scheduled(cron = "0 0/10 * * * ? ")
     public void run() {
+        log.info("订单与消耗监控告警定时任务开始.");
         //本地不运行
         if(!run){
             return;
@@ -39,7 +40,7 @@ public class OrderCostMonitorAlarmTask {
         if(now.getHour() == 0 && now.getMinute() <= 30){
             return;
         }
-        log.info("订单与消耗监控告警定时任务开始.");
+//        log.info("订单与消耗监控告警定时任务开始.");
         try {
             //监控订单表
             orderCostMonitorAlarmService.monitorDataStatus();