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