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.store.PersistedTask
|
||||
import no.iktdev.eventi.models.store.TaskStatus
|
||||
import java.time.Duration
|
||||
import java.util.UUID
|
||||
|
||||
@ -14,7 +15,7 @@ interface TaskStore {
|
||||
|
||||
fun claim(taskId: UUID, workerId: String): Boolean
|
||||
fun heartbeat(taskId: UUID)
|
||||
fun markConsumed(taskId: UUID)
|
||||
fun markConsumed(taskId: UUID, status: TaskStatus)
|
||||
fun releaseExpiredTasks(timeout: Duration = Duration.ofMinutes(15))
|
||||
|
||||
fun getPendingTasks(): List<PersistedTask>
|
||||
|
||||
@ -39,9 +39,9 @@ open class InMemoryTaskStore : TaskStore {
|
||||
update(task.copy(lastCheckIn = LocalDateTime.now()))
|
||||
}
|
||||
|
||||
override fun markConsumed(taskId: UUID) {
|
||||
override fun markConsumed(taskId: UUID, status: TaskStatus) {
|
||||
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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user