Worker listener should not consume if it can't start
This commit is contained in:
parent
cec4e2aca2
commit
f9600c0745
@ -11,6 +11,10 @@ import no.iktdev.mediaprocessing.shared.common.contract.data.az
|
||||
abstract class WorkTaskListener: CoordinatorEventListener() {
|
||||
private val log = KotlinLogging.logger {}
|
||||
|
||||
override fun shouldIProcessAndHandleEvent(incomingEvent: Event, events: List<Event>): Boolean {
|
||||
|
||||
return canStart(incomingEvent, events)
|
||||
}
|
||||
fun canStart(incomingEvent: Event, events: List<Event>): Boolean {
|
||||
val autoStart = events.find { it.eventType == Events.ProcessStarted }?.az<MediaProcessStartEvent>()?.data
|
||||
if (autoStart == null) {
|
||||
|
||||
@ -35,6 +35,10 @@ class ConvertWorkTaskListener: WorkTaskListener() {
|
||||
return true
|
||||
}
|
||||
override fun shouldIProcessAndHandleEvent(incomingEvent: Event, events: List<Event>): Boolean {
|
||||
if (!super.shouldIProcessAndHandleEvent(incomingEvent, events)) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (!isOfEventsIListenFor(incomingEvent))
|
||||
return false
|
||||
if (!incomingEvent.isSuccessful() && !shouldIHandleFailedEvents(incomingEvent)) {
|
||||
@ -54,10 +58,6 @@ class ConvertWorkTaskListener: WorkTaskListener() {
|
||||
return
|
||||
}
|
||||
active = true
|
||||
if (!canStart(event, events)) {
|
||||
active = false
|
||||
return
|
||||
}
|
||||
|
||||
var language: String? = null
|
||||
var storeAsFile: String? = null
|
||||
|
||||
@ -42,10 +42,6 @@ class EncodeWorkTaskListener : WorkTaskListener() {
|
||||
return
|
||||
}
|
||||
active = true
|
||||
if (!canStart(event, events)) {
|
||||
active = false
|
||||
return
|
||||
}
|
||||
|
||||
val encodeArguments = if (event.eventType == Events.ParameterEncodeCreated) {
|
||||
event.az<EncodeArgumentCreatedEvent>()?.data
|
||||
|
||||
@ -36,11 +36,6 @@ class ExtractWorkTaskListener: WorkTaskListener() {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun shouldIProcessAndHandleEvent(incomingEvent: Event, events: List<Event>): Boolean {
|
||||
val state = super.shouldIProcessAndHandleEvent(incomingEvent, events)
|
||||
return state
|
||||
}
|
||||
|
||||
override fun onEventsReceived(incomingEvent: ConsumableEvent<Event>, events: List<Event>) {
|
||||
val event = incomingEvent.consume()
|
||||
if (event == null) {
|
||||
@ -50,12 +45,6 @@ class ExtractWorkTaskListener: WorkTaskListener() {
|
||||
}
|
||||
active = true
|
||||
|
||||
|
||||
if (!canStart(event, events)) {
|
||||
active = false
|
||||
return
|
||||
}
|
||||
|
||||
val arguments = if (event.eventType == Events.ParameterExtractCreated) {
|
||||
event.az<ExtractArgumentCreatedEvent>()?.data
|
||||
} else {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user