Explorar o código

add 规则引擎集群

18339543638 %!s(int64=4) %!d(string=hai) anos
pai
achega
3a7582a1f9

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

@@ -337,6 +337,7 @@ class ClusterUniqueTask implements Task ,Serializable{
 
     private Mono<Void> operation(OperationMessage message) {
         TaskOperation operation=message.operation;
+        this.taskState=operation.getState();
         if(isReplica()&&
             (generatePingMsgDisposable!=null&&!generatePingMsgDisposable.isDisposed())){
             //当前为任务副本,传递给任务执行者
@@ -400,39 +401,46 @@ class ClusterUniqueTask implements Task ,Serializable{
     }
 
 
+
+    @AllArgsConstructor
     enum TaskOperation implements Serializable {
         /**
          * 开始任务
          */
-        START,
+        START(State.running),
         /**
          * 暂停任务
          */
-        PAUSE,
+        PAUSE(State.paused),
         /**
          * 重载任务
          */
-        RELOAD,
+        RELOAD(State.unknown),
         /**
          * 关闭任务
          */
-        SHUTDOWN,
+        SHUTDOWN(State.shutdown),
         /**
          * 设置任务
          */
-        JOB,
+        JOB(State.unknown),
         /**
          * 执行任务
          */
-        EXECUTE,
+        EXECUTE(State.unknown),
         /**
          * 开启debug
          */
-        ENABLE_DEBUG,
+        ENABLE_DEBUG(State.unknown),
         /**
          * 关闭debug
          */
-        DISABLE_DEBUG
+        DISABLE_DEBUG(State.unknown);
+        private State state;
+
+        public State getState() {
+            return state;
+        }
     }
 
     @Data