From 6ac6dc36ef9a2522777774adb93aaab75460bd7b Mon Sep 17 00:00:00 2001 From: yibo Date: Thu, 4 Jun 2026 19:20:00 +0800 Subject: [PATCH] fix(lifelog/summary): 自动纪要周期 1h → 15min(WorkManager 下限) --- lifelog-recorder/app/src/main/kotlin/com/lemon/lifelog/summary/SummaryScheduler.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lifelog-recorder/app/src/main/kotlin/com/lemon/lifelog/summary/SummaryScheduler.kt b/lifelog-recorder/app/src/main/kotlin/com/lemon/lifelog/summary/SummaryScheduler.kt index 0712cd2..f997f29 100644 --- a/lifelog-recorder/app/src/main/kotlin/com/lemon/lifelog/summary/SummaryScheduler.kt +++ b/lifelog-recorder/app/src/main/kotlin/com/lemon/lifelog/summary/SummaryScheduler.kt @@ -17,15 +17,18 @@ object SummaryScheduler { fun schedulePeriodic(ctx: Context) { val constraints = Constraints.Builder() - .setRequiredNetworkType(NetworkType.NOT_REQUIRED) // hermes 在本机 127.0.0.1 + .setRequiredNetworkType(NetworkType.NOT_REQUIRED) // 后端都在本机 .setRequiresBatteryNotLow(true) .build() - val request = PeriodicWorkRequestBuilder(1, TimeUnit.HOURS) + // 15 分钟是 WorkManager periodic 的硬下限(做不到正好 10min)。会话关闭后 + // 最多 ~15min 出纪要。worker 自带并发互斥 + 时间预算,频繁触发也不会堆积。 + val request = PeriodicWorkRequestBuilder(15, TimeUnit.MINUTES) .setConstraints(constraints) .build() WorkManager.getInstance(ctx).enqueueUniquePeriodicWork( PERIODIC_TAG, - ExistingPeriodicWorkPolicy.KEEP, + // UPDATE 而非 KEEP:否则旧的 1h 排程不会被新间隔覆盖。 + ExistingPeriodicWorkPolicy.UPDATE, request, ) } -- libgit2 0.21.4