Przeglądaj źródła

add 规则引擎集群

18339543638 4 lat temu
rodzic
commit
3dc37e1b03

+ 2 - 2
jetlinks-components/rule-engine-component/src/main/java/org/jetlinks/community/rule/engine/cluster/ClusterUniqueTask.java

@@ -98,7 +98,7 @@ class ClusterUniqueTask implements Task ,Serializable{
     /**
      * 持有锁的线程
      */
-    private ExecutorService heldLockThread= new ThreadPoolExecutor(1, 1,
+    private transient ExecutorService heldLockThread= new ThreadPoolExecutor(1, 1,
         Integer.MAX_VALUE, TimeUnit.SECONDS, new ArrayBlockingQueue(1024),r->new Thread(r,"cluster-task"),new ThreadPoolExecutor.DiscardOldestPolicy());
 
     ClusterUniqueTask(String schedulerId,
@@ -335,7 +335,7 @@ class ClusterUniqueTask implements Task ,Serializable{
                     handleDisposable = clusterManager.getTopic(pingTopic)
                         .subscribePattern()
                         .mergeWith(clusterManager.getTopic(operationTopic).subscribePattern())
-                        .timeout(Duration.ofSeconds(pingTime), Mono.fromRunnable(() -> isAlive.set(false)))
+                        .timeout(Duration.ofSeconds(Math.multiplyExact(pingTime,2)), Mono.fromRunnable(() -> isAlive.set(false)))
                         .publishOn(Schedulers.boundedElastic())
                         .flatMap(obj -> {
                             if(!generatePingMsgDisposable.isDisposed()){