This commit is contained in:
bskjon 2025-03-19 22:57:44 +01:00
parent 278763be31
commit fac82f06eb
2 changed files with 26 additions and 3 deletions

View File

@ -1,5 +1,6 @@
package no.iktdev.mediaprocessing.processer.services package no.iktdev.mediaprocessing.processer.services
import com.google.gson.Gson
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
@ -209,6 +210,12 @@ class EncodeService(
outputFiles = listOf(runner.outputFile), outputFiles = listOf(runner.outputFile),
progress = progress?.toProcessProgress() progress = progress?.toProcessProgress()
) )
try {
log.info { "Reporting encode progress ${Gson().toJson(processerEventInfo)}" }
} catch (e: Exception) {
e.printStackTrace()
}
try { try {
reporter.sendEncodeProgress(processerEventInfo) reporter.sendEncodeProgress(processerEventInfo)
} catch (e: Exception) { } catch (e: Exception) {

View File

@ -7,6 +7,7 @@ import no.iktdev.mediaprocessing.ui.UIEnv
import no.iktdev.mediaprocessing.ui.WebSocketMonitoringService import no.iktdev.mediaprocessing.ui.WebSocketMonitoringService
import no.iktdev.mediaprocessing.ui.log import no.iktdev.mediaprocessing.ui.log
import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Autowired
import org.springframework.messaging.converter.MappingJackson2MessageConverter
import org.springframework.messaging.converter.StringMessageConverter import org.springframework.messaging.converter.StringMessageConverter
import org.springframework.messaging.simp.SimpMessagingTemplate import org.springframework.messaging.simp.SimpMessagingTemplate
import org.springframework.messaging.simp.stomp.* import org.springframework.messaging.simp.stomp.*
@ -41,7 +42,7 @@ class ProcesserListenerService(
private final fun connectAndListen() { private final fun connectAndListen() {
log.info { "EncoderWsUrl: ${UIEnv.socketEncoder}" } log.info { "EncoderWsUrl: ${UIEnv.socketEncoder}" }
client.messageConverter = StringMessageConverter() client.messageConverter = MappingJackson2MessageConverter()
client.connect(UIEnv.socketEncoder, object : StompSessionHandlerAdapter() { client.connect(UIEnv.socketEncoder, object : StompSessionHandlerAdapter() {
override fun afterConnected(session: StompSession, connectedHeaders: StompHeaders) { override fun afterConnected(session: StompSession, connectedHeaders: StompHeaders) {
super.afterConnected(session, connectedHeaders) super.afterConnected(session, connectedHeaders)
@ -73,11 +74,13 @@ class ProcesserListenerService(
} }
private fun scheduleReconnect() { private fun scheduleReconnect() {
log.info { "Scheduling reconnect!" }
(reconnectTask ?: kotlinx.coroutines.Runnable { (reconnectTask ?: kotlinx.coroutines.Runnable {
logger.info { "Attempting to reconnect" } logger.info { "Attempting to reconnect" }
connectAndListen() connectAndListen()
}).let { }).let {
scheduler.scheduleAtFixedRate(it, 5, 5, TimeUnit.SECONDS) scheduler.scheduleAtFixedRate(it, 5, 5, TimeUnit.SECONDS)
reconnectTask = it
} }
} }
@ -99,9 +102,22 @@ class ProcesserListenerService(
} }
override fun handleFrame(headers: StompHeaders, payload: Any?) { override fun handleFrame(headers: StompHeaders, payload: Any?) {
val response = gson.fromJson(payload.toString(), ProcesserEventInfo::class.java)
if (webSocketMonitoringService.anyListening()) { if (webSocketMonitoringService.anyListening()) {
message?.convertAndSend("/topic/processer/encode/progress", response) message?.convertAndSend("/topic/processer/encode/progress", payload)
}
val response = when (payload) {
is String -> {
log.info { "Received string of: $payload" }
gson.fromJson(payload.toString(), ProcesserEventInfo::class.java)
}
is ProcesserEventInfo -> {
log.info { "Received object of ${Gson().toJson(payload)}" }
payload
}
else -> {
log.error { "Unsupported payload $payload" }
return
}
} }
} }
} }