diff --git a/powerjob-client/pom.xml b/powerjob-client/pom.xml
index 475ca9b9..43c59747 100644
--- a/powerjob-client/pom.xml
+++ b/powerjob-client/pom.xml
@@ -10,11 +10,11 @@
4.0.0
powerjob-client
- 3.1.1
+ 3.1.2
jar
- 3.1.1
+ 3.1.2
5.6.1
diff --git a/powerjob-common/pom.xml b/powerjob-common/pom.xml
index 117fc938..625fa6db 100644
--- a/powerjob-common/pom.xml
+++ b/powerjob-common/pom.xml
@@ -10,7 +10,7 @@
4.0.0
powerjob-common
- 3.1.1
+ 3.1.2
jar
diff --git a/powerjob-server/pom.xml b/powerjob-server/pom.xml
index 43bdc1bd..0eee88e4 100644
--- a/powerjob-server/pom.xml
+++ b/powerjob-server/pom.xml
@@ -10,13 +10,13 @@
4.0.0
powerjob-server
- 3.1.1
+ 3.1.2
jar
2.9.2
2.2.6.RELEASE
- 3.1.1
+ 3.1.2
8.0.19
1.4.200
2.5.2
diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/instance/InstanceManager.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/instance/InstanceManager.java
index dee67ee4..a49e084c 100644
--- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/instance/InstanceManager.java
+++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/service/instance/InstanceManager.java
@@ -87,6 +87,7 @@ public class InstanceManager {
// 综上,直接把 status 和 runningNum 同步到DB即可
if (TimeExpressionType.frequentTypes.contains(timeExpressionType)) {
+ instanceInfo.setResult(req.getResult());
instanceInfo.setRunningTimes(req.getTotalTaskNum());
instanceInfoRepository.saveAndFlush(instanceInfo);
return;
diff --git a/powerjob-worker-agent/pom.xml b/powerjob-worker-agent/pom.xml
index a8f934da..c7c73d5c 100644
--- a/powerjob-worker-agent/pom.xml
+++ b/powerjob-worker-agent/pom.xml
@@ -10,12 +10,12 @@
4.0.0
powerjob-worker-agent
- 3.1.1
+ 3.1.2
jar
- 3.1.1
+ 3.1.2
1.2.3
4.3.2
diff --git a/powerjob-worker-samples/pom.xml b/powerjob-worker-samples/pom.xml
index 618d9c31..b911cf21 100644
--- a/powerjob-worker-samples/pom.xml
+++ b/powerjob-worker-samples/pom.xml
@@ -10,11 +10,11 @@
4.0.0
powerjob-worker-samples
- 3.1.1
+ 3.1.2
2.2.6.RELEASE
- 3.1.1
+ 3.1.2
1.2.68
diff --git a/powerjob-worker/pom.xml b/powerjob-worker/pom.xml
index f9b3c669..e44f9f98 100644
--- a/powerjob-worker/pom.xml
+++ b/powerjob-worker/pom.xml
@@ -10,12 +10,12 @@
4.0.0
powerjob-worker
- 3.1.1
+ 3.1.2
jar
5.2.4.RELEASE
- 3.1.1
+ 3.1.2
1.4.200
3.4.2
5.6.1
diff --git a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/LRUCache.java b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/LRUCache.java
index 429af541..110ad041 100644
--- a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/LRUCache.java
+++ b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/common/utils/LRUCache.java
@@ -19,7 +19,7 @@ public class LRUCache {
public LRUCache(int cacheSize) {
innerCache = CacheBuilder.newBuilder()
.concurrencyLevel(2)
- .initialCapacity(cacheSize)
+ .maximumSize(cacheSize)
.build();
}
diff --git a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/task/FrequentTaskTracker.java b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/task/FrequentTaskTracker.java
index c73f25bb..ed72f3f9 100644
--- a/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/task/FrequentTaskTracker.java
+++ b/powerjob-worker/src/main/java/com/github/kfcfans/powerjob/worker/core/tracker/task/FrequentTaskTracker.java
@@ -61,6 +61,7 @@ public class FrequentTaskTracker extends TaskTracker {
private static final int HISTORY_SIZE = 10;
private static final String LAST_TASK_ID_PREFIX = "L";
+ private static final int MIN_INTERVAL = 1000;
protected FrequentTaskTracker(ServerScheduleJobReq req) {
super(req);
@@ -89,6 +90,10 @@ public class FrequentTaskTracker extends TaskTracker {
// 2. 启动任务发射器
launcher = new Launcher();
if (timeExpressionType == TimeExpressionType.FIX_RATE) {
+ // 固定频率需要设置最小间隔
+ if (timeParams < MIN_INTERVAL) {
+ throw new OmsException("time interval too small, please set the timeExpressionInfo >= 1000");
+ }
scheduledPool.scheduleAtFixedRate(launcher, 1, timeParams, TimeUnit.MILLISECONDS);
}else {
scheduledPool.schedule(launcher, 0, TimeUnit.MILLISECONDS);
@@ -97,8 +102,7 @@ public class FrequentTaskTracker extends TaskTracker {
// 3. 启动任务分发器(事实上,秒级任务应该都是单机任务,且感觉不需要失败重试机制,那么 Dispatcher 的存在就有点浪费系统资源了...)
scheduledPool.scheduleWithFixedDelay(new Dispatcher(), 1, 2, TimeUnit.SECONDS);
// 4. 启动状态检查器
- scheduledPool.scheduleWithFixedDelay(new Checker(), 5000, Math.min(timeParams, 10000), TimeUnit.MILLISECONDS);
-
+ scheduledPool.scheduleWithFixedDelay(new Checker(), 5000, Math.min(Math.max(timeParams, 5000), 15000), TimeUnit.MILLISECONDS);
}
@Override
@@ -213,6 +217,11 @@ public class FrequentTaskTracker extends TaskTracker {
@Override
public void run() {
+
+ if (finished.get()) {
+ return;
+ }
+
try {
checkStatus();
reportStatus();
diff --git a/powerjob-worker/src/test/java/com/github/kfcfans/powerjob/function/LRUCacheTest.java b/powerjob-worker/src/test/java/com/github/kfcfans/powerjob/function/LRUCacheTest.java
new file mode 100644
index 00000000..3ac6c9e3
--- /dev/null
+++ b/powerjob-worker/src/test/java/com/github/kfcfans/powerjob/function/LRUCacheTest.java
@@ -0,0 +1,23 @@
+package com.github.kfcfans.powerjob.function;
+
+import com.github.kfcfans.powerjob.worker.common.utils.LRUCache;
+import org.junit.jupiter.api.Test;
+
+/**
+ * LRU cache test
+ *
+ * @author tjq
+ * @since 2020/6/26
+ */
+public class LRUCacheTest {
+
+ @Test
+ public void testCache() {
+ LRUCache cache = new LRUCache<>(10);
+ for (long i = 0; i < 100; i++) {
+ cache.put(i, "STR:" + i);
+ }
+ cache.forEach((x, y) -> System.out.println("key:" + x));
+ }
+
+}