1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| package cn.flightfeather.supervision.common.executor
|
| import java.time.Duration
| import java.time.LocalDateTime
|
| /**
| * 后台耗时任务状态
| */
| class BgTaskStatus(
| val type: BgTaskType,
| val id: String,
| val name: String,
| ) {
| // 任务状态
| var status: TaskStatus = TaskStatus.WAITING
|
| // 开始时间
| var startTime: LocalDateTime? = null
|
| // 结束时间
| var endTime: LocalDateTime? = null
|
| // 创建时间
| var createTime: LocalDateTime = LocalDateTime.now()
|
| // 运行时长(秒)
| val runTime: Long
| get() {
| when (status) {
| TaskStatus.WAITING -> {
| return 0
| }
| TaskStatus.RUNNING -> {
| val now = LocalDateTime.now()
| val duration = Duration.between(startTime, now)
| return duration.toMillis() / 1000
| }
| TaskStatus.SUCCESS,
| TaskStatus.FAIL,
| TaskStatus.SHUTDOWN,
| -> {
| val duration = Duration.between(startTime, endTime)
| return duration.toMillis() / 1000
| }
| }
| }
|
| }
|
| enum class TaskStatus {
| WAITING,
| RUNNING,
| SUCCESS,
| FAIL,
| SHUTDOWN
| }
|
|