Причина синхронизации и временная метка в логах
This commit is contained in:
@@ -20,4 +20,7 @@ interface ITaskOrchestrator {
|
||||
fun cancel(taskId: TaskId): Boolean
|
||||
|
||||
fun cancelAll()
|
||||
|
||||
/** Запись в общий лог пайплайна вне контекста [TaskContext] (например, WorkManager sync). */
|
||||
fun appendPipelineLog(level: TaskLogLevel, key: TaskLogKey)
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import java.util.UUID
|
||||
data class PipelineTask(
|
||||
val id: TaskId,
|
||||
val title: String,
|
||||
val enqueuedAtMs: Long,
|
||||
val dispatcher: CoroutineDispatcher,
|
||||
val state: TaskRunState,
|
||||
/** UUID storage, для которого идёт задача (кнопки только этой строки в UI). */
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.github.nullptroma.wallenc.domain.tasks
|
||||
|
||||
/** Источник запуска синхронизации хранилищ (для логов пайплайна задач). */
|
||||
enum class StorageSyncTriggerReason {
|
||||
Debounce,
|
||||
SyncTab,
|
||||
Background,
|
||||
}
|
||||
@@ -3,7 +3,10 @@ package com.github.nullptroma.wallenc.domain.tasks
|
||||
import com.github.nullptroma.wallenc.domain.errors.WallencException
|
||||
|
||||
sealed class TaskLogKey {
|
||||
data object SyncStarted : TaskLogKey()
|
||||
data object SyncFinished : TaskLogKey()
|
||||
data class SyncFailed(val error: WallencException) : TaskLogKey()
|
||||
data class SyncStarted(val reason: StorageSyncTriggerReason) : TaskLogKey()
|
||||
data class SyncFinished(val reason: StorageSyncTriggerReason) : TaskLogKey()
|
||||
data class SyncFailed(
|
||||
val error: WallencException,
|
||||
val reason: StorageSyncTriggerReason,
|
||||
) : TaskLogKey()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user