Wip
This commit is contained in:
parent
278763be31
commit
fac82f06eb
@ -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) {
|
||||||
|
|||||||
@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user