From 57c2b6875b5f026a1432f3209471d6b4503f43fc Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 29 Oct 2024 13:35:05 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/utils/task/stock/StockTask.java |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/nq/utils/task/stock/StockTask.java b/src/main/java/com/nq/utils/task/stock/StockTask.java
index 90fba2e..4d9b175 100644
--- a/src/main/java/com/nq/utils/task/stock/StockTask.java
+++ b/src/main/java/com/nq/utils/task/stock/StockTask.java
@@ -58,10 +58,14 @@
 
     private final Lock syncINStockDataLock = new ReentrantLock();
 
+    private final AtomicBoolean syncUSStockData = new AtomicBoolean(false);
+
+    private final Lock syncUSStockDataLock = new ReentrantLock();
+
     /**
      * 同步系统所需要的股票
      */
-    @Scheduled(cron = "0 */1 * * * ?")
+    @Scheduled(cron = "0 0/1 * * * ?")
     public void syncINStockData() {
         if (syncINStockData.get()) { // 判断任务是否在处理中
             return;
@@ -81,9 +85,20 @@
     /**
      * 同步美国股票
      */
-//    @Scheduled(cron = "0 0/30 * * * ?")
+    @Scheduled(cron = "0 0/1 * * * ?")
     public void loadStockCompanies() {
-        loadAllCompanies();
+        if (syncUSStockData.get()) { // 判断任务是否在处理中
+            return;
+        }
+        if (syncUSStockDataLock.tryLock()) {
+            try {
+                syncUSStockData.set(true); // 设置处理中标识为true
+                loadAllStock(EStockType.US);
+            } finally {
+                syncUSStockDataLock.unlock();
+                syncUSStockData.set(false); // 设置处理中标识为false
+            }
+        }
     }
 
 

--
Gitblit v1.9.3