From eeb86aaf2f73a02600195ce2637dde6caf858a88 Mon Sep 17 00:00:00 2001
From: T100738 <1821349743@qq.com>
Date: 星期二, 16 四月 2024 22:30:34 +0800
Subject: [PATCH] commit

---
 product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java
index 42972e2..235fa07 100644
--- a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java
+++ b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java
@@ -1,5 +1,6 @@
 package com.product.data.center.service;
 
+import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.RandomUtil;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
@@ -103,6 +104,8 @@
 						int totalPage = ceilPage(partSize, QUERY_PAGE_SIZE);
 						StringBuilder tempFilter = new StringBuilder(128);
 						for (int j = 0; j < totalPage; j++) {
+							//鏌ヨ鏃舵鏌ラ槦鍒楁暟閲忥紝濡傛灉瓒呰繃鏈�澶у�煎垯绛夊緟
+							checkQueueCount(sourceTable);
 							while (!allowQuery(sourceTable)) {
 								Thread.sleep(RandomUtil.randomInt(800, 1200));
 							}
@@ -199,7 +202,7 @@
 			ExecutorService executorService = queryThreadMap.get(tableName);
 			if (executorService != null) {
 				if (!executorService.isShutdown()) {
-					executorService.shutdown();
+					executorService.shutdownNow();
 				}
 				queryThreadMap.remove(tableName);
 			}
@@ -301,6 +304,22 @@
 	}
 
 	/**
+	 * 妫�鏌ラ槦鍒楁暟閲�
+	 */
+	private void checkQueueCount(String tableName) {
+		//鍒濆鏃堕棿
+		long startTime = System.currentTimeMillis();
+		while (queryMap.get(tableName) != null && queryMap.get(tableName).size() >= 10) {
+			//涓庡垵濮嬫椂闂存瘮杈冿紝濡傛灉瓒呰繃10鍒嗛挓鍒欐墦鍗�
+			if (System.currentTimeMillis() - startTime > 600000) {
+				WriteUtil.append("DA-闃熷垪鏁伴噺瓒呰繃10锛屽綋鍓嶆暟閲忥細" + queryMap.get(tableName).size());
+				startTime = System.currentTimeMillis();
+			}
+			ThreadUtil.sleep(10000);
+		}
+	}
+
+	/**
 	 * 鏀惧叆闃熷垪
 	 *
 	 * @param tableName

--
Gitblit v1.9.2