Le nuove foto diventano solitamente ricercabili dopo che l’elaborazione in background è terminata, ma i processi bloccati e i filtri di ricerca possono produrre sintomi simili di risultati mancanti.
Un telefono ha terminato il caricamento di un album delle vacanze sul server di famiglia, ma una ricerca della spiaggia restituisce solo immagini più vecchie. I risultati mancanti potrebbero essere in attesa di analisi, fallire in una fase precedente dell’elaborazione oppure essere esclusi dalla query corrente. Distinguere questi stati è più importante che giudicare l’intera importazione da una singola ricerca senza risultati.
Una foto caricata può essere ancora in attesa di essere indicizzata per la ricerca
Un caricamento accettato, un elemento visibile nella timeline e un record completato per la ricerca semantica sono traguardi diversi. L’elaborazione in background consente al server di accettare le richieste senza completare simultaneamente ogni fase di analisi. Questa separazione offre maggiore flessibilità, ma significa anche che il solo contatore dei caricamenti non può indicare a una famiglia quando ogni nuova immagine corrisponderà a una query in linguaggio naturale.
Le code di elaborazione separate rendono osservabile questa distinzione. Uno sviluppatore che ha creato un visualizzatore delle code di Immich mostra i processi in attesa, attivi e completati insieme ai grafici della velocità di elaborazione. L’idea utile non è lo strumento aggiuntivo in sé: è che diverse attività di elaborazione hanno avanzamenti indipendenti, quindi un trasferimento apparentemente tranquillo non implica necessariamente che la libreria sia pronta.
Per una coda d’esempio, 12.000 processi idonei in attesa, elaborati con un ritmo costante di 100 al minuto, richiedono circa 120 minuti dopo l’arresto dei nuovi arrivi. Se ne arrivano altri 80 ogni minuto, il calo netto è di soli 20. I processi reali hanno costi diversi, quindi questo calcolo spiega il comportamento dell’arretrato, ma non prevede il tempo di completamento di Immich.
Tre stati diversi possono sembrare lo stesso ritardo
Occorre distinguere tre stati: una coda intenzionalmente in attesa, una coda che procede lentamente e processi che falliscono ripetutamente prima che esista l’output richiesto. Nel primo caso non è autorizzata l’esecuzione; nel secondo la capacità di elaborazione è insufficiente rispetto al ritmo degli arrivi; nel terzo si perde tempo a causa di un errore specifico. Un numero elevato di processi in attesa può verificarsi in tutti e tre i casi.
Un timeout nell’estrazione dei metadati segnalato illustra il terzo stato, senza dimostrare un limite hardware generale. L’autore della segnalazione ha osservato errori dopo 120 secondi per i video presenti in una libreria basata su NFS, mentre l’estrazione degli stessi file dal lato host era rapida. Questo contrasto individua una discrepanza nel percorso di elaborazione; non dimostra che tutto lo storage NAS o tutte le importazioni di grandi dimensioni si comportino allo stesso modo.
Se il lavoro in attesa diminuisce e gli errori rimangono stabili, una copertura ritardata è compatibile con un arretrato in fase di smaltimento. Se invece non diminuisce, occorre innanzitutto distinguere i processi in pausa dagli errori attivi prima di definire il sistema sovraccarico. Si tratta di un limite di classificazione, non di una raccomandazione a svuotare le code, riavviare tutti i servizi o rieseguire l’intera raccolta familiare.
L’ambito della ricerca può simulare un’indicizzazione incompleta
Una volta noto lo stato dell’elaborazione, mantieni invariati account, ambito dell’album, filtro per data e query. Cercare da un account familiare diverso può modificare i risultati idonei anche sullo stesso server. Inoltre, una query semantica ordina i risultati in base alla somiglianza invece di garantire un inventario esatto, quindi una corrispondenza visiva mancante non dimostra da sola che l’indicizzazione sia incompleta.
Le anteprime HEIC mancanti introducono un’altra ambiguità: l’originale può essere presente mentre il derivato visualizzato non è disponibile. Il formato, il comportamento del decodificatore o un determinato profilo dell’immagine possono influire su questo percorso. Un elemento mancante e un vettore di ricerca mancante sono osservazioni diverse, anche quando la stessa fotografia espone entrambi i problemi all’utente.
La spiegazione del normale arretrato non è più valida quando lo stesso piccolo sottoinsieme continua a fallire dopo che il resto del gruppo è stato completato. Al contrario, una ricerca riuscita di un elemento noto insieme a una corrispondenza semantica debole indica un problema di rilevanza della query o di comportamento del modello. Non reimportare gli originali solo perché la prima formulazione di una ricerca non li ha recuperati.
Usa un piccolo gruppo di elementi per distinguere l’attesa dal blocco
Scegli un piccolo gruppo di risorse importate di recente, con date identificabili e contenuti diversi, insieme a un gruppo più vecchio già noto per funzionare. Registra quando ogni originale viene accettato, quando si apre la relativa anteprima, quando vengono completati i processi pertinenti e se una query fissa lo recupera. Ripeti a intervalli registrati senza cambiare i modelli o avviare un processo di rielaborazione dell’intera libreria.
La pianificazione delle importazioni può rimandare intenzionalmente l’elaborazione in background. Una versione di immich-go ha introdotto la messa in pausa dei processi durante i caricamenti per evitare conflitti simultanei negli aggiornamenti dei metadati. Questa è la prova di una specifica politica per le importazioni in blocco, non la dimostrazione che l’app mobile nativa sospenda i processi nello stesso modo; registra quale strumento di importazione e quale versione hanno effettivamente prodotto il gruppo.
Interpreta l’aumento dei conteggi dei completamenti insieme alla stabilità dei risultati più vecchi come un recupero dell’arretrato, gli errori ripetuti sugli stessi file come un problema di elaborazione e i risultati diversi tra account come una questione di ambito. Se l’avanzamento si arresta, segnala il problema includendo queste osservazioni e i dettagli della versione. Una diagnosi utile restringe la fase che non funziona senza cancellare le prove o modificare diverse variabili contemporaneamente.
Hub Tecnologico e AI
Altro da leggere

I modelli open stanno raggiungendo l’IA all’avanguardia: il 2026 sarà l’anno in cui l’IA locale diventerà abbastanza valida?
I modelli open stanno diventando abbastanza validi per un numero crescente di carichi di lavoro di IA locali, mentre i modelli cloud di frontiera...

NVIDIA PAIR trasforma la tua rete domestica in un cluster AI locale: ti serve ancora un unico grande server con GPU?
NVIDIA PAIR distribuisce le richieste di IA locale su più PC, rendendo la potenza di calcolo più elastica, mentre un server domestico può mantenere...

Perché Immich sembra più veloce sulla LAN rispetto alle connessioni remote?
Le richieste sulla LAN seguono generalmente un percorso più breve e con una latenza inferiore. L’accesso remoto introduce i limiti di capacità della WAN...

