From 9c56261122a98245c8e6e7e9f1c94a8b683f8832 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 15 Aug 2024 10:26:26 +1000 Subject: [PATCH] Delay DB reindexing slightly This helps with boot time by preventing a ton of disk I/O before the UI has had a chance to load. --- src/tangara/system_fsm/running.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/tangara/system_fsm/running.cpp b/src/tangara/system_fsm/running.cpp index f9bca074..07166e2f 100644 --- a/src/tangara/system_fsm/running.cpp +++ b/src/tangara/system_fsm/running.cpp @@ -188,6 +188,10 @@ auto Running::mountStorage() -> void { // mounted card. if (sServices->nvs().DbAutoIndex()) { sServices->bg_worker().Dispatch([&]() { + // Delay the index update for a bit, since we don't want to cause a lot + // of disk contention immediately after mounting (especially when we've + // just booted), or else we risk slowing down stuff like UI loading. + vTaskDelay(pdMS_TO_TICKS(6000)); auto db = sServices->database().lock(); if (!db) { return;