From 423c6707e95e8e239f262fa657c71ac5eb0d02f1 Mon Sep 17 00:00:00 2001 From: bskjon Date: Tue, 2 Jul 2024 01:44:49 +0200 Subject: [PATCH] Updated check --- .../mediaprocessing/processer/ffmpeg/FfmpegRunner.kt | 3 ++- .../shared/common/persistance/PersistentEventManager.kt | 6 ------ .../shared/common/persistance/TasksManager.kt | 9 +++++++++ .../mediaprocessing/shared/common/persistance/tasks.kt | 3 ++- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/ffmpeg/FfmpegRunner.kt b/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/ffmpeg/FfmpegRunner.kt index 4721a7ff..c6c9b9db 100644 --- a/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/ffmpeg/FfmpegRunner.kt +++ b/apps/processer/src/main/kotlin/no/iktdev/mediaprocessing/processer/ffmpeg/FfmpegRunner.kt @@ -39,7 +39,6 @@ class FfmpegRunner( } fun run(progress: Boolean = false) { - log.info { "Starting ffmpeg on file $inputFile" } val args = FfmpegArgumentsBuilder() .inputFile(inputFile) .outputFile(outputFile) @@ -47,6 +46,8 @@ class FfmpegRunner( .allowOverwrite(ProcesserEnv.allowOverwrite) .withProgress(progress) .build() + log.info { "Starting ffmpeg on file $inputFile with arguments:\n\t ${args.joinToString(" ")}" } + job = scope.launch { execute(args) } diff --git a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt index 4813dbe6..e741807d 100644 --- a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt +++ b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/PersistentEventManager.kt @@ -106,12 +106,6 @@ class PersistentEventManager(private val dataSource: DataSource) { //region Database write - val digest = MessageDigest.getInstance("MD5") - @OptIn(ExperimentalStdlibApi::class) - private fun getIntegrityOfData(data : String) : String { - return digest.digest(data.toByteArray(kotlin.text.Charsets.UTF_8)) - .toHexString() - } /** * Stores the kafka event and its data in the database as PersistentMessage diff --git a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/TasksManager.kt b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/TasksManager.kt index 30c5b52a..8fe974e1 100644 --- a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/TasksManager.kt +++ b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/TasksManager.kt @@ -12,6 +12,7 @@ import no.iktdev.mediaprocessing.shared.kafka.dto.Status import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.javatime.CurrentDateTime +import java.security.MessageDigest import java.time.LocalDateTime class TasksManager(private val dataSource: DataSource) { @@ -128,12 +129,20 @@ class TasksManager(private val dataSource: DataSource) { it[tasks.eventId] = eventId it[tasks.task] = task.name it[tasks.data] = data + it[tasks.integrity] = getIntegrityOfData(data) } } } } +val digest = MessageDigest.getInstance("MD5") +@OptIn(ExperimentalStdlibApi::class) +private fun getIntegrityOfData(data : String) : String { + return digest.digest(data.toByteArray(kotlin.text.Charsets.UTF_8)) + .toHexString() +} + fun Query?.toTaskTypeGroup(): Map> { val dz = TaskDoz() val res = this?.mapNotNull { dz.deserializeTask(it) }?.groupBy { it.task } ?: emptyMap() diff --git a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/tasks.kt b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/tasks.kt index a233ce2a..6994702c 100644 --- a/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/tasks.kt +++ b/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/persistance/tasks.kt @@ -17,8 +17,9 @@ object tasks: IntIdTable() { val data: Column = text("data") val created: Column = datetime("created").defaultExpression(CurrentDateTime) val lastCheckIn: Column = datetime("lastCheckIn").nullable() + val integrity: Column = varchar("integrity", 100) init { - uniqueIndex(referenceId, eventId, task) + uniqueIndex(referenceId, task, integrity) } } \ No newline at end of file