Minor changes

This commit is contained in:
bskjon 2025-02-23 20:08:12 +01:00
parent f9600c0745
commit 8b8a073216

View File

@ -1,5 +1,6 @@
package no.iktdev.mediaprocessing.coordinator.tasksV2.implementations package no.iktdev.mediaprocessing.coordinator.tasksV2.implementations
import com.google.gson.Gson
import mu.KotlinLogging import mu.KotlinLogging
import no.iktdev.mediaprocessing.coordinator.CoordinatorEventListener import no.iktdev.mediaprocessing.coordinator.CoordinatorEventListener
import no.iktdev.mediaprocessing.shared.common.contract.Events import no.iktdev.mediaprocessing.shared.common.contract.Events
@ -12,18 +13,21 @@ abstract class WorkTaskListener: CoordinatorEventListener() {
private val log = KotlinLogging.logger {} private val log = KotlinLogging.logger {}
override fun shouldIProcessAndHandleEvent(incomingEvent: Event, events: List<Event>): Boolean { override fun shouldIProcessAndHandleEvent(incomingEvent: Event, events: List<Event>): Boolean {
return canStart(incomingEvent, events) return canStart(incomingEvent, events)
} }
fun canStart(incomingEvent: Event, events: List<Event>): Boolean { fun canStart(incomingEvent: Event, events: List<Event>): Boolean {
val autoStart = events.find { it.eventType == Events.ProcessStarted }?.az<MediaProcessStartEvent>()?.data val startEvent = events.find { it.eventType == Events.ProcessStarted }?.az<MediaProcessStartEvent>()
if (autoStart == null) { val startType = startEvent?.data?.type
if (startType == null) {
log.error { "Start event not found. Requiring permitt event" } log.error { "Start event not found. Requiring permitt event" }
log.error { Gson().toJson(events) }
return false
} }
return if (incomingEvent.eventType == Events.WorkProceedPermitted) { return if (incomingEvent.eventType == Events.WorkProceedPermitted) {
return true return true
} else { } else {
if (autoStart == null || autoStart.type == ProcessType.MANUAL) { if (startType == ProcessType.MANUAL) {
log.warn { "${incomingEvent.metadata.referenceId} waiting for Proceed event due to Manual process" } log.warn { "${incomingEvent.metadata.referenceId} waiting for Proceed event due to Manual process" }
false false
} else true } else true