Optimize thumbnail workers and adaptive indexing

This commit is contained in:
2026-04-05 20:36:11 +01:00
parent 8b391059ba
commit 76ec424167
7 changed files with 471 additions and 113 deletions
+14 -6
View File
@@ -2,10 +2,12 @@ mod commands;
mod db;
mod indexer;
mod media;
mod storage;
mod thumbnail;
mod vector;
use tauri::Manager;
use crate::storage::StorageProfile;
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
@@ -35,12 +37,18 @@ pub fn run() {
let thumb_dir = app_dir.join("thumbnails");
std::fs::create_dir_all(&thumb_dir).expect("Failed to create thumbnail dir");
indexer::start_thumbnail_worker(
app.handle().clone(),
pool.clone(),
media_tools.clone(),
thumb_dir,
);
let thumbnail_worker_count = std::thread::available_parallelism()
.map(|parallelism| StorageProfile::Balanced.thumbnail_workers(parallelism.get()))
.unwrap_or(2);
for _ in 0..thumbnail_worker_count {
indexer::start_thumbnail_worker(
app.handle().clone(),
pool.clone(),
media_tools.clone(),
thumb_dir.clone(),
);
}
indexer::start_metadata_worker(app.handle().clone(), pool.clone(), media_tools.clone());
app.manage(pool);