This commit is contained in:
bskjon 2024-04-11 01:33:42 +02:00
parent f0a8e14aaa
commit 5eb94df884
7 changed files with 25 additions and 26 deletions

9
.idea/misc.xml generated
View File

@ -1,12 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<list size="2">
<item index="0" class="java.lang.String" itemvalue="org.springframework.scheduling.annotation.Scheduled" />
<item index="1" class="java.lang.String" itemvalue="org.springframework.stereotype.Service" />
</list>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="azul-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@ -182,12 +182,10 @@ class ConvertService(@Autowired override var coordinator: ConverterCoordinator)
val scheduled_deferred_events: MutableMap<String, List<DerivedProcessIterationHolder>> = mutableMapOf()
@Scheduled(fixedDelay = (300_000))
fun validatePresenceOfRequiredEvent() {
val removal = mutableMapOf<String, List<DerivedProcessIterationHolder>>()
val continueDeferral: MutableMap<String, List<DerivedProcessIterationHolder>> = mutableMapOf()
for ((referenceId, eventList) in scheduled_deferred_events) {
val failed = mutableListOf<DerivedProcessIterationHolder>()
val keepable = mutableListOf<DerivedProcessIterationHolder>()
for (event in eventList) {
val ce = if (event.event.data is ConvertWorkerRequest) event.event.data as ConvertWorkerRequest else null
try {
@ -199,12 +197,12 @@ class ConvertService(@Autowired override var coordinator: ConverterCoordinator)
throw RuntimeException("Iterated overshot")
} else {
event.iterated++
keepable.add(event)
"Iteration ${event.iterated} for event ${event.eventId} in deferred check"
}
} catch (e: Exception) {
eventManager.setProcessEventCompleted(referenceId, event.eventId)
failed.add(event)
log.error { "Canceling event ${event.eventId}\n\t by declaring it as consumed." }
producer.sendMessage(
referenceId = referenceId,
@ -213,14 +211,11 @@ class ConvertService(@Autowired override var coordinator: ConverterCoordinator)
)
}
}
removal[referenceId] = failed
continueDeferral[referenceId] = keepable
}
for ((referenceId, events) in removal) {
val list = scheduled_deferred_events[referenceId] ?: continue
list.toMutableList().removeAll(events)
scheduled_deferred_events[referenceId] = list
}
scheduled_deferred_events.clear()
scheduled_deferred_events.putAll(continueDeferral)
}

View File

@ -4,8 +4,10 @@ import no.iktdev.mediaprocessing.shared.common.Defaults
import no.iktdev.mediaprocessing.shared.kafka.core.CoordinatorProducer
import no.iktdev.mediaprocessing.shared.kafka.core.DefaultMessageListener
import no.iktdev.mediaprocessing.shared.kafka.core.KafkaImplementation
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.Import
import org.springframework.web.client.RestTemplate
//@Configuration
//class SocketLocalInit: SocketImplementation()
@ -16,4 +18,5 @@ class KafkaLocalInit: KafkaImplementation() {
}
@Configuration
class DefaultConfiguration: Defaults()
public class DefaultProcesserConfiguration: Defaults() {
}

View File

@ -7,8 +7,9 @@ import org.springframework.stereotype.Service
import org.springframework.web.client.RestTemplate
@Service
class Reporter(@Autowired private val restTemplate: RestTemplate) {
class Reporter() {
@Autowired
lateinit var restTemplate: RestTemplate
fun sendEncodeProgress(progress: ProcesserEventInfo) {
try {
restTemplate.postForEntity(SharedConfig.uiUrl + "/encode/progress", progress, String::class.java)

View File

@ -3,10 +3,7 @@ package no.iktdev.mediaprocessing.ui.socket.internal
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import mu.KotlinLogging
import no.iktdev.mediaprocessing.ui.UIEnv
import no.iktdev.mediaprocessing.ui.dto.EventDataObject
import no.iktdev.mediaprocessing.ui.memActiveEventMap
import no.iktdev.mediaprocessing.ui.memSimpleConvertedEventsMap
import org.springframework.messaging.simp.stomp.StompFrameHandler
import org.springframework.messaging.simp.stomp.StompHeaders
import org.springframework.messaging.simp.stomp.StompSession

View File

@ -8,7 +8,7 @@ import org.springframework.web.client.RestTemplate
open class Defaults {
@Bean
fun restTemplate(): RestTemplate {
open fun restTemplate(): RestTemplate {
val restTemplate = RestTemplate()
return restTemplate
}

View File

@ -57,5 +57,13 @@ enum class KafkaEvents(val event: String) {
EventWorkExtractPerformed
)
}
fun isOfFinalize(event: KafkaEvents): Boolean {
return event in listOf(
EVENT_MEDIA_PROCESS_COMPLETED,
EVENT_REQUEST_PROCESS_COMPLETED,
EVENT_COLLECT_AND_STORE
)
}
}
}