Setting completed on error

This commit is contained in:
Brage Skjønborg 2025-10-12 15:23:41 +02:00
parent 8993546cb3
commit 5ebcb4ae8d
3 changed files with 9 additions and 0 deletions

View File

@ -27,7 +27,10 @@ abstract class Event {
fun usingReferenceId(refId: UUID) = apply {
this.referenceId = refId
}
}
inline fun <reified T> Event.requireAs(): T {
return this as? T ?: throw IllegalArgumentException("Expected ${T::class.java.name}, got ${this::class.java.name}")
}
abstract class DeleteEvent: Event() {
@ -35,3 +38,4 @@ abstract class DeleteEvent: Event() {
}

View File

@ -20,3 +20,7 @@ abstract class Task {
this.metadata = Metadata(derivedFromId = event.eventId)
}
}
inline fun <reified T> Task.requireAs(): T {
return this as? T ?: throw IllegalArgumentException("Expected ${T::class.java.name}, got ${this::class.java.name}")
}

View File

@ -66,6 +66,7 @@ abstract class TaskListener<T>(val taskType: TaskType = TaskType.CPU_INTENSIVE):
override fun onError(task: Task, exception: Exception) {
reporter?.log(task.taskId, "Error processing task: ${exception.message}")
exception.printStackTrace()
reporter?.markConsumed(task.taskId)
}
override fun onComplete(task: Task, result: T?) {