Disabled creation of event if task cannot be created

This commit is contained in:
bskjon 2025-02-23 23:05:37 +01:00
parent 53dea1c480
commit 62e0453ce9
3 changed files with 20 additions and 6 deletions

View File

@ -109,8 +109,7 @@ class ConvertWorkTaskListener: WorkTaskListener() {
metadata = event.makeDerivedEventInfo(EventStatus.Success, getProducerName()),
data = convertData
).also { event ->
onProduceEvent(event)
taskManager.createTask(
val taskCreatedSuccessfully = taskManager.createTask(
referenceId = event.referenceId(),
eventId = event.eventId(),
derivedFromEventId = event.derivedFromEventId(),
@ -118,6 +117,13 @@ class ConvertWorkTaskListener: WorkTaskListener() {
data = WGson.gson.toJson(event.data!!),
inputFile = event.data!!.inputFile
)
if (!taskCreatedSuccessfully) {
log.error { "Failed to create task for events on referenceId: ${event.referenceId()}" }
} else {
onProduceEvent(event)
}
}
}
active = false

View File

@ -58,8 +58,7 @@ class EncodeWorkTaskListener : WorkTaskListener() {
metadata = event.makeDerivedEventInfo(EventStatus.Success, getProducerName()),
data = encodeArguments
).also { event ->
onProduceEvent(event)
taskManager.createTask(
val taskCreatedSuccessfully = taskManager.createTask(
referenceId = event.referenceId(),
eventId = event.eventId(),
derivedFromEventId = event.derivedFromEventId(),
@ -67,6 +66,11 @@ class EncodeWorkTaskListener : WorkTaskListener() {
data = WGson.gson.toJson(event.data!!),
inputFile = event.data!!.inputFile
)
if (!taskCreatedSuccessfully) {
log.error { "Failed to create task for events on referenceId: ${event.referenceId()}" }
} else {
onProduceEvent(event)
}
}
active = false
}

View File

@ -67,8 +67,7 @@ class ExtractWorkTaskListener: WorkTaskListener() {
data = it
)
}.forEach { event ->
onProduceEvent(event)
taskManager.createTask(
val taskCreatedSuccessfully = taskManager.createTask(
referenceId = event.referenceId(),
eventId = event.eventId(),
derivedFromEventId = event.derivedFromEventId(),
@ -76,6 +75,11 @@ class ExtractWorkTaskListener: WorkTaskListener() {
data = WGson.gson.toJson(event.data!!),
inputFile = event.data!!.inputFile
)
if (!taskCreatedSuccessfully) {
log.error { "Failed to create task for events on referenceId: ${event.referenceId()}" }
} else {
onProduceEvent(event)
}
}
active = false
}