Publishing reason for failure
This commit is contained in:
parent
d7555b825f
commit
b1061b3c9e
@ -110,7 +110,7 @@ class ConvertService(
|
||||
super.onError(inputFile, message)
|
||||
log.info { "Convert error for ${task.referenceId}\nmessage: $message" }
|
||||
|
||||
taskManager.markTaskAsCompleted(task.referenceId, task.eventId, Status.ERROR)
|
||||
taskManager.markTaskAsCompleted(task.referenceId, task.eventId, Status.ERROR, message)
|
||||
|
||||
tasks.onProduceEvent(ConvertWorkPerformed(
|
||||
metadata = EventMetadata(
|
||||
|
||||
@ -82,13 +82,14 @@ class EncodeService(
|
||||
logDir = logDir, listener = this
|
||||
)
|
||||
if (outFile.exists()) {
|
||||
val reason = "${this::class.java.simpleName} identified the file as already existing, either allow overwrite or delete the offending file: ${outFile.absolutePath}"
|
||||
if (ffwrc.arguments.firstOrNull() != "-y") {
|
||||
this.onError(
|
||||
ffwrc.inputFile,
|
||||
"${this::class.java.simpleName} identified the file as already existing, either allow overwrite or delete the offending file: ${outFile.absolutePath}"
|
||||
reason
|
||||
)
|
||||
// Setting consumed to prevent spamming
|
||||
taskManager.markTaskAsCompleted(event.referenceId, event.eventId, Status.ERROR)
|
||||
taskManager.markTaskAsCompleted(event.referenceId, event.eventId, Status.ERROR, reason)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -165,7 +166,7 @@ class EncodeService(
|
||||
override fun onError(inputFile: String, message: String) {
|
||||
val task = assignedTask ?: return
|
||||
|
||||
taskManager.markTaskAsCompleted(task.referenceId, task.eventId, Status.ERROR)
|
||||
taskManager.markTaskAsCompleted(task.referenceId, task.eventId, Status.ERROR, message)
|
||||
|
||||
log.error { "Encode failed for ${task.referenceId}\n$message" }
|
||||
tasks.onProduceEvent(EncodeWorkPerformedEvent(
|
||||
|
||||
@ -67,7 +67,8 @@ class ExtractService(
|
||||
logDir.mkdirs()
|
||||
}
|
||||
|
||||
val setClaim = taskManager.markTaskAsClaimed(referenceId = event.referenceId, eventId = event.eventId, claimer = serviceId)
|
||||
val setClaim =
|
||||
taskManager.markTaskAsClaimed(referenceId = event.referenceId, eventId = event.eventId, claimer = serviceId)
|
||||
if (setClaim) {
|
||||
log.info { "Claim successful for ${event.referenceId} extract" }
|
||||
runner = FfmpegRunner(
|
||||
@ -78,13 +79,15 @@ class ExtractService(
|
||||
listener = this
|
||||
)
|
||||
if (outputFile.exists()) {
|
||||
val reason =
|
||||
"${this::class.java.simpleName} identified the file as already existing, either allow overwrite or delete the offending file: ${outputFile.absolutePath}"
|
||||
if (ffwrc.arguments.firstOrNull() != "-y") {
|
||||
this.onError(
|
||||
ffwrc.inputFile,
|
||||
"${this::class.java.simpleName} identified the file as already existing, either allow overwrite or delete the offending file: ${outputFile.absolutePath}"
|
||||
reason
|
||||
)
|
||||
// Setting consumed to prevent spamming
|
||||
taskManager.markTaskAsCompleted(event.referenceId, event.eventId, Status.ERROR)
|
||||
taskManager.markTaskAsCompleted(event.referenceId, event.eventId, Status.ERROR, reason)
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -142,7 +145,7 @@ class ExtractService(
|
||||
override fun onError(inputFile: String, message: String) {
|
||||
val task = assignedTask ?: return
|
||||
|
||||
taskManager.markTaskAsCompleted(task.referenceId, task.eventId, Status.ERROR)
|
||||
taskManager.markTaskAsCompleted(task.referenceId, task.eventId, Status.ERROR, message)
|
||||
|
||||
log.error { "Extract failed for ${task.referenceId}\n$message" }
|
||||
tasks.onProduceEvent(
|
||||
@ -172,7 +175,12 @@ class ExtractService(
|
||||
}
|
||||
|
||||
|
||||
fun sendProgress(referenceId: String, eventId: String, status: WorkStatus, progress: FfmpegDecodedProgress? = null) {
|
||||
fun sendProgress(
|
||||
referenceId: String,
|
||||
eventId: String,
|
||||
status: WorkStatus,
|
||||
progress: FfmpegDecodedProgress? = null
|
||||
) {
|
||||
val runner = runner ?: return
|
||||
|
||||
val processerEventInfo = ProcesserEventInfo(
|
||||
|
||||
@ -94,7 +94,7 @@ class TasksManager(private val dataSource: DataSource) {
|
||||
}
|
||||
}
|
||||
|
||||
fun markTaskAsCompleted(referenceId: String, eventId: String, status: Status = Status.COMPLETED): Boolean {
|
||||
fun markTaskAsCompleted(referenceId: String, eventId: String, status: Status = Status.COMPLETED, message: String? = null): Boolean {
|
||||
return executeWithStatus(dataSource) {
|
||||
tasks.update({
|
||||
(tasks.referenceId eq referenceId) and
|
||||
@ -103,6 +103,9 @@ class TasksManager(private val dataSource: DataSource) {
|
||||
it[consumed] = true
|
||||
it[claimed] = true
|
||||
it[tasks.status] = status.name
|
||||
message?.let { msg ->
|
||||
it[tasks.taskResult] = msg
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import org.jetbrains.exposed.dao.id.IntIdTable
|
||||
import org.jetbrains.exposed.sql.Column
|
||||
import org.jetbrains.exposed.sql.javatime.CurrentDateTime
|
||||
import org.jetbrains.exposed.sql.javatime.datetime
|
||||
import org.w3c.dom.Text
|
||||
import java.time.LocalDateTime
|
||||
|
||||
object tasks: IntIdTable() {
|
||||
@ -19,6 +20,8 @@ object tasks: IntIdTable() {
|
||||
val data: Column<String> = text("data")
|
||||
val created: Column<LocalDateTime> = datetime("created").defaultExpression(CurrentDateTime)
|
||||
val lastCheckIn: Column<LocalDateTime?> = datetime("lastCheckIn").nullable()
|
||||
val taskResult: Column<String?> = text("taskResult").nullable()
|
||||
|
||||
|
||||
init {
|
||||
uniqueIndex(referenceId, task, eventId)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user