From 981656d583e04274b4d828dc77636243dc169b88 Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期二, 03 十二月 2024 16:00:06 +0800
Subject: [PATCH] 1. 新增BgTask状态修改函数:先修改状态后发送状态回调 2. WebSocketMessageDecoder 改名 WebSocketMessageParser

---
 src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt
index 66a9315..3a0b2b1 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt
@@ -11,13 +11,14 @@
     val id: String,
     val name: String,
     private val task: () -> Boolean,
+    private val onStatusChange: (status: BgTaskStatus) -> Unit
 ) {
     var taskStatus = BgTaskStatus(type, id, name)
     var future: Future<*>? = null
 
     fun ready() {
-        taskStatus.status = TaskStatus.RUNNING
         taskStatus.startTime = LocalDateTime.now()
+        setStatus(TaskStatus.RUNNING)
     }
 
     fun execute() {
@@ -31,24 +32,29 @@
     }
 
     fun success() {
-        taskStatus.status = TaskStatus.SUCCESS
         complete()
+        setStatus(TaskStatus.SUCCESS)
     }
 
     fun fail() {
-        taskStatus.status = TaskStatus.FAIL
         complete()
+        setStatus(TaskStatus.FAIL)
     }
 
     fun shutdown() {
         if (future?.isCancelled == false && !future!!.isDone) {
             future!!.cancel(true)
         }
-        taskStatus.status = TaskStatus.SHUTDOWN
         complete()
+        setStatus(TaskStatus.SHUTDOWN)
     }
 
     fun complete() {
         taskStatus.endTime = LocalDateTime.now()
     }
+
+    fun setStatus(status: TaskStatus) {
+        taskStatus.status = status
+        onStatusChange(taskStatus)
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3