bitgetsClient/src/main/java/org/example/bitgetsclient/task/RunTask.java
@@ -29,7 +29,7 @@ @Qualifier("threadPoolTaskExecutor") private ThreadPoolTaskExecutor threadPoolTaskExecutor; @Scheduled(cron = "0 0/11 * * * ?") // @Scheduled(cron = "0 0/11 * * * ?") public void restart() { // 停止当前线程池中的任务 threadPoolTaskExecutor.shutdown(); geteClient/src/main/java/org/example/geteclient/task/RunTask.java
@@ -26,7 +26,7 @@ @Qualifier("threadPoolTaskExecutor") private ThreadPoolTaskExecutor threadPoolTaskExecutor; @Scheduled(cron = "0 0/11 * * * ?") // @Scheduled(cron = "0 0/11 * * * ?") public void restart() { // 停止当前线程池中的任务 threadPoolTaskExecutor.shutdown(); kucoinClient/src/main/java/org/example/kucoinclient/task/RunTask.java
@@ -26,7 +26,7 @@ @Qualifier("threadPoolTaskExecutor") private ThreadPoolTaskExecutor threadPoolTaskExecutor; @Scheduled(cron = "0 0/1 * * * ?") // @Scheduled(cron = "0 0/1 * * * ?") public void restart() { // 停止当前线程池中的任务 threadPoolTaskExecutor.shutdown(); kucoinClient/src/main/java/org/example/kucoinclient/wsClient/KucoinClient.java
@@ -129,7 +129,11 @@ } if (map.get("data") != null) { Object object = map.get("data"); // 获取数据内容 processData(map.get("topic").toString(), object); // 处理数据 if(null == map.get("topic")){ System.out.println("-------------------出错了:"+map); }else{ processData(map.get("topic").toString(), object); // 处理数据 } } } mexcClient/src/main/java/org/example/mexcclient/WsBean/MexcWsBean.java
@@ -52,18 +52,22 @@ private ThreadPoolTaskExecutor threadPoolTaskExecutor; @Bean public void mexcWebsocketRunClientMap() { public void mexcWebsocketRunClientMap() throws InterruptedException { List<Currency> mexc = currencyService.list(new LambdaQueryWrapper<Currency>().eq(Currency::getSource, "mexc")); if (!CollectionUtils.isEmpty(mexc)) { int batchSize = 30; // 每个线程处理的数据量 int totalSize = mexc.size(); int threadCount = (int) Math.ceil((double) totalSize / batchSize); // 计算需要的线程数 int count = 0; for (int i = 0; i < threadCount; i++) { int fromIndex = i * batchSize; int toIndex = Math.min(fromIndex + batchSize, totalSize); List<Currency> sublist = mexc.subList(fromIndex, toIndex); count++; if(count % 15 == 0 && count != 0){ count = 0; Thread.sleep(1500); } // 使用自定义线程池提交任务 threadPoolTaskExecutor.execute(() -> { new MexcClient(sublist).start(); mexcClient/src/main/java/org/example/mexcclient/task/RunTask.java
@@ -26,7 +26,7 @@ @Qualifier("threadPoolTaskExecutor") private ThreadPoolTaskExecutor threadPoolTaskExecutor; @Scheduled(cron = "0 0/11 * * * ?") // @Scheduled(cron = "0 0/11 * * * ?") public void restart() { // 停止当前线程池中的任务 threadPoolTaskExecutor.shutdown();