feat(indexer,backoffice): logs par domaine, réduction fd, UI mobile

- Ajout de targets de log par domaine (scan, extraction, thumbnail, watcher)
  contrôlables via RUST_LOG pour activer/désactiver les logs granulaires
- Ajout de logs détaillés dans extracting_pages (per-book timing en debug,
  progression toutes les 25 books en info)
- Réduction de la consommation de fd: walkdir max_open(20/10), comptage
  séquentiel au lieu de par_iter parallèle, suppression de rayon
- Détection ENFILE dans le scanner: abort après 10 erreurs IO consécutives
- Backoffice: settings dans le burger mobile, masquer "backoffice" et
  icône settings en mobile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-15 11:57:49 +01:00
parent 6947af10fe
commit 0d60d46cae
10 changed files with 187 additions and 48 deletions

View File

@@ -1,5 +1,4 @@
use anyhow::Result;
use rayon::prelude::*;
use sqlx::{PgPool, Row};
use tracing::{error, info};
use uuid::Uuid;
@@ -270,10 +269,12 @@ pub async fn process_job(
crate::utils::remap_libraries_path(&library.get::<String, _>("root_path"))
})
.collect();
// Count sequentially with limited open fds to avoid ENFILE exhaustion
library_paths
.par_iter()
.iter()
.map(|root_path| {
walkdir::WalkDir::new(root_path)
.max_open(20)
.into_iter()
.filter_map(Result::ok)
.filter(|entry| {