task store changes
This commit is contained in:
parent
0c0a2b5e9a
commit
1e179e32a5
@ -2,6 +2,7 @@ package no.iktdev.eventi.stores
|
|||||||
|
|
||||||
import no.iktdev.eventi.models.Task
|
import no.iktdev.eventi.models.Task
|
||||||
import no.iktdev.eventi.models.store.PersistedTask
|
import no.iktdev.eventi.models.store.PersistedTask
|
||||||
|
import no.iktdev.eventi.models.store.TaskStatus
|
||||||
import java.time.Duration
|
import java.time.Duration
|
||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
@ -14,7 +15,7 @@ interface TaskStore {
|
|||||||
|
|
||||||
fun claim(taskId: UUID, workerId: String): Boolean
|
fun claim(taskId: UUID, workerId: String): Boolean
|
||||||
fun heartbeat(taskId: UUID)
|
fun heartbeat(taskId: UUID)
|
||||||
fun markConsumed(taskId: UUID)
|
fun markConsumed(taskId: UUID, status: TaskStatus)
|
||||||
fun releaseExpiredTasks(timeout: Duration = Duration.ofMinutes(15))
|
fun releaseExpiredTasks(timeout: Duration = Duration.ofMinutes(15))
|
||||||
|
|
||||||
fun getPendingTasks(): List<PersistedTask>
|
fun getPendingTasks(): List<PersistedTask>
|
||||||
|
|||||||
@ -39,9 +39,9 @@ open class InMemoryTaskStore : TaskStore {
|
|||||||
update(task.copy(lastCheckIn = LocalDateTime.now()))
|
update(task.copy(lastCheckIn = LocalDateTime.now()))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun markConsumed(taskId: UUID) {
|
override fun markConsumed(taskId: UUID, status: TaskStatus) {
|
||||||
val task = findByTaskId(taskId) ?: return
|
val task = findByTaskId(taskId) ?: return
|
||||||
update(task.copy(consumed = true, status = TaskStatus.Completed))
|
update(task.copy(consumed = true, status = status))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun releaseExpiredTasks(timeout: Duration) {
|
override fun releaseExpiredTasks(timeout: Duration) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user