| | |
| | | var future: Future<*>? = null |
| | | |
| | | fun ready() { |
| | | taskStatus.status = TaskStatus.RUNNING |
| | | taskStatus.startTime = LocalDateTime.now() |
| | | setStatus(TaskStatus.RUNNING) |
| | | } |
| | | |
| | | fun execute() { |
| | |
| | | } |
| | | |
| | | 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) |
| | | } |
| | | } |