From 066781edb98770a89d7f08c38874ed7aeaba44ec Mon Sep 17 00:00:00 2001 From: bskjon Date: Tue, 23 Apr 2024 19:09:45 +0200 Subject: [PATCH] Test --- .../input/watcher/InputDirectoryWatcher.kt | 49 +++++++++++-------- .../mediaprocessing/processer/Coordinator.kt | 13 ++++- .../processer/services/ClaimsService.kt | 8 ++- .../processer/services/EncodeService.kt | 1 + .../processer/services/ExtractService.kt | 1 + 5 files changed, 48 insertions(+), 24 deletions(-) diff --git a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/input/watcher/InputDirectoryWatcher.kt b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/input/watcher/InputDirectoryWatcher.kt index da9cdf1c..78718e53 100644 --- a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/input/watcher/InputDirectoryWatcher.kt +++ b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasks/input/watcher/InputDirectoryWatcher.kt @@ -41,32 +41,41 @@ class InputDirectoryWatcher(@Autowired var coordinator: Coordinator): FileWatche private val logger = KotlinLogging.logger {} val watcherChannel = SharedConfig.incomingContent.asWatchChannel() val queue = FileWatcherQueue() - val io = Coroutines.io() + final val io = Coroutines.io() - init { - io.launch { - watcherChannel.consumeEach { - if (it.file == SharedConfig.incomingContent) { - logger.info { "IO Watcher ${it.kind} on ${it.file.absolutePath}" } - } else { - logger.info { "IO Event: ${it.kind}: ${it.file.name}" } - } - try { - when (it.kind) { - Deleted -> removeFile(it.file) - Initialized -> { /* Do nothing */ } - else -> { - val added = addFile(it.file) - if (!added) { - logger.info { "Ignoring event kind: ${it.kind.name} for file ${it.file.name} as it is not a supported video file" } - } + suspend fun startWatcher() { + log.info { "Starting Watcher" } + watcherChannel.consumeEach { + if (it.file == SharedConfig.incomingContent) { + logger.info { "IO Watcher ${it.kind} on ${it.file.absolutePath}" } + } else { + logger.info { "IO Event: ${it.kind}: ${it.file.name}" } + } + try { + when (it.kind) { + Deleted -> removeFile(it.file) + Initialized -> { /* Do nothing */ } + else -> { + val added = addFile(it.file) + if (!added) { + logger.info { "Ignoring event kind: ${it.kind.name} for file ${it.file.name} as it is not a supported video file" } } } - } catch (e: Exception) { - e.printStackTrace() } + } catch (e: Exception) { + e.printStackTrace() } } + log.info { "Reached end of watcherChannel" } + } + + final fun runCoroutine() { + io.launch { startWatcher() } + .invokeOnCompletion { runCoroutine() } + } + + init { + runCoroutine() } private fun addFile(file: File): Boolean { diff --git a/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/Coordinator.kt b/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/Coordinator.kt index d622f1d5..86844ff9 100644 --- a/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/Coordinator.kt +++ b/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/Coordinator.kt @@ -85,7 +85,7 @@ class Coordinator(): CoordinatorBase