From c1b9995c15fb506a9d740fe8dbd49891c8dbba32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartu=20=C3=96zen?= Date: Thu, 18 Dec 2025 19:03:47 +0300 Subject: [PATCH] Deschedule previous task --- .../suwayomi/tachidesk/global/impl/sync/SyncManager.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt b/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt index 72deea6bd..7317d85a5 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/global/impl/sync/SyncManager.kt @@ -46,6 +46,8 @@ object SyncManager { private val syncPreferences = Injekt.get().getSharedPreferences("sync", Context.MODE_PRIVATE) private val logger = KotlinLogging.logger {} + private var currentTaskId: String? = null + @OptIn(DelicateCoroutinesApi::class) fun scheduleSyncTask() { serverConfig.subscribeTo( @@ -54,9 +56,11 @@ object SyncManager { serverConfig.syncInterval, ) { enabled, interval -> Pair(enabled, interval) }, { (enabled, interval) -> - if (enabled && interval > 0) { + currentTaskId = if (enabled && interval > 0) { val intervalMs = interval.minutes.inWholeMilliseconds + currentTaskId?.let { HAScheduler.deschedule(it) } + HAScheduler.schedule( { GlobalScope.launch { @@ -67,6 +71,8 @@ object SyncManager { delay = intervalMs, name = "sync", ) + } else { + null } }, ignoreInitialValue = false,