feiyu02
2024-12-31 0c59552dc14c9023d4c0a9d57509cce1d5a6d6da
src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt
@@ -17,8 +17,8 @@
    var future: Future<*>? = null
    fun ready() {
        taskStatus.status = TaskStatus.RUNNING
        taskStatus.startTime = LocalDateTime.now()
        setStatus(TaskStatus.RUNNING)
    }
    fun execute() {
@@ -32,26 +32,29 @@
    }
    fun success() {
        taskStatus.status = TaskStatus.SUCCESS
        complete()
        onStatusChange(taskStatus)
        setStatus(TaskStatus.SUCCESS)
    }
    fun fail() {
        taskStatus.status = TaskStatus.FAIL
        complete()
        onStatusChange(taskStatus)
        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)
    }
}