Waarom duurt het lang voordat nieuw geïmporteerde Immich-foto's doorzoekbaar worden?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Nieuwe foto's worden doorgaans doorzoekbaar zodra de verwerking op de achtergrond is bijgewerkt, maar vastgelopen taken en zoekfilters kunnen vergelijkbare symptomen van ontbrekende resultaten veroorzaken.

Een telefoon heeft een vakantiealbum naar de familieserver geüpload, maar een zoekopdracht naar het strand levert alleen oudere foto's op. De ontbrekende resultaten wachten mogelijk nog op analyse, zijn in een eerdere verwerkingsfase mislukt of worden uitgesloten door de huidige zoekopdracht. Het is belangrijker om die toestanden van elkaar te onderscheiden dan om de hele import te beoordelen op basis van één zoekopdracht die niets opleverde.

Een geüploade foto kan nog steeds op de zoekindex wachten

Een geaccepteerde upload, een zichtbare tegel in de tijdlijn en een voltooid record voor semantisch zoeken zijn verschillende mijlpalen. Dankzij achtergrondverwerking kan de server aanvragen accepteren zonder elke analysestap synchroon te voltooien. Die scheiding biedt meer flexibiliteit, maar betekent ook dat de uploadteller alleen een gezin niet kan vertellen wanneer elke nieuwe afbeelding op een zoekopdracht in natuurlijke taal zal reageren.

Afzonderlijke taakwachtrijen maken dit onderscheid zichtbaar. Een ontwikkelaar die een visualisatietool voor Immich-wachtrijen heeft gebouwd, toont wachtende, actieve en voltooide taken naast grafieken met verwerkingssnelheden. Het nuttige idee is niet de extra tool zelf, maar dat verschillende verwerkingsactiviteiten onafhankelijk voortgang boeken. Een rustige overdrachtsperiode hoeft dus niet te betekenen dat de bibliotheek klaar is.

In een illustratieve wachtrij duren 12.000 wachtende, geschikte taken bij een constante snelheid van 100 per minuut ongeveer 120 minuten nadat er geen nieuwe taken meer bijkomen. Als er elke minuut nog 80 bijkomen, bedraagt de netto afname slechts 20. Echte taken verschillen in zwaarte, dus deze berekening verklaart het gedrag van een achterstand en voorspelt geen voltooiingstijd voor Immich.

Drie verschillende toestanden kunnen eruitzien als dezelfde vertraging

Onderscheid drie toestanden: een wachtrij die bewust wacht, een wachtrij die langzaam vooruitgaat en taken die herhaaldelijk mislukken voordat de vereiste uitvoer beschikbaar is. In de eerste toestand mag de wachtrij niet worden uitgevoerd; in de tweede is de doorvoer onvoldoende voor de instroomsnelheid; in de derde gaat tijd verloren door een specifieke fout. Een groot aantal wachtende taken kan in alle drie de situaties voorkomen.

Een gemelde time-out bij metadata-extractie illustreert de derde toestand en bewijst geen algemene hardwarebeperking. De melder zag bij video's op een bibliotheek die door NFS werd aangeboden fouten na 120 seconden, terwijl extractie van dezelfde bestanden aan de hostzijde snel verliep. Dat verschil wijst op een discrepantie in het verwerkingspad; het bewijst niet dat alle NAS-opslag of alle grote imports zich zo gedragen.

Als het aantal wachtende taken afneemt en het aantal fouten stabiel blijft, past vertraagde dekking bij een achterstand die wordt weggewerkt. Als het aantal niet afneemt, moet je eerst onderscheid maken tussen gepauzeerd werk en actieve fouten voordat je het systeem overbelast noemt. Dit is een classificatiegrens, geen aanbeveling om wachtrijen te wissen, alle services opnieuw te starten of de volledige familieverzameling opnieuw uit te voeren.

Het zoekbereik kan onvoltooide indexering nabootsen

Zodra de verwerkingsstatus bekend is, houd je het account, de albumomvang, het datumfilter en de zoekopdracht gelijk. Zoeken vanuit een ander gezinsaccount kan de beschikbare resultaten veranderen, zelfs op dezelfde server. Een semantische zoekopdracht rangschikt bovendien op overeenkomst en garandeert geen exacte inventaris. Eén ontbrekende visuele overeenkomst bewijst dus op zichzelf geen onvoltooide indexering.

Ontbrekende HEIC-voorbeelden zorgen voor een extra dubbelzinnigheid: het origineel kan aanwezig zijn terwijl de weergaveversie niet beschikbaar is. Het formaat, decoderingsgedrag of een bepaald afbeeldingsprofiel kan dat pad beïnvloeden. Een ontbrekende tegel en een ontbrekende zoekvector zijn verschillende waarnemingen, ook als dezelfde foto beide problemen voor de gebruiker zichtbaar maakt.

De verklaring van een normale achterstand is niet langer van toepassing wanneer dezelfde kleine subset consequent mislukt nadat de rest van de groep is voltooid. Omgekeerd wijst een succesvolle zoekopdracht naar een bekend bestand met een zwakke semantische overeenkomst eerder op de relevantie van de zoekopdracht of op modelgedrag. Importeer originelen niet opnieuw alleen omdat de eerste formulering van een zoekopdracht ze niet heeft gevonden.

-15% OFF
Single board computer zimaboard2

Gebruik een kleine groep om wachten van vastlopen te onderscheiden

Kies een kleine groep nieuw geïmporteerde bestanden met herkenbare datums en uiteenlopende inhoud, plus een oudere groep waarvan al bekend is dat die werkt. Noteer wanneer elk origineel wordt geaccepteerd, wanneer het voorbeeld wordt geopend, wanneer relevante taken zijn voltooid en of een vaste zoekopdracht het bestand vindt. Herhaal dit op vastgelegde tijdstippen zonder modellen te wijzigen of een verwerking van de volledige bibliotheek te starten.

De planning van imports kan achtergrondwerk bewust uitstellen. Een versie van immich-go introduceerde het pauzeren van taken tijdens uploads om gelijktijdige conflicten bij metadata-updates te voorkomen. Dat is bewijs van een specifiek beleid voor bulkimports en geen bewijs dat de native mobiele app taken op dezelfde manier pauzeert. Noteer daarom welke importer en versie de groep daadwerkelijk heeft geproduceerd.

Interpreteer stijgende aantallen voltooide taken bij stabiele oudere resultaten als een inhaalslag, herhaalde fouten bij dezelfde bestanden als een verwerkingsprobleem en verschillende resultaten tussen accounts als een kwestie van zoekbereik. Schakel hulp in met die waarnemingen en versiegegevens als de voortgang stopt. Een bruikbare diagnose beperkt de fout tot de betreffende verwerkingsfase zonder het bewijsmateriaal te verwijderen of meerdere variabelen tegelijk te wijzigen.

Tech & AI HUB

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.