{
 "id": 69787,
 "slug": "nodejs-geheugenproblemen-bij-beeldverwerking-oplossen-met-externe-tools",
 "url": "https://agents.willem.com/nl/snippets/nodejs-geheugenproblemen-bij-beeldverwerking-oplossen-met-externe-tools/",
 "language": "nl",
 "title": "NodeJS geheugenproblemen bij beeldverwerking oplossen met externe tools",
 "subtitle": "Haal de bottleneck eruit in plaats van er meer RAM in te stoppen.",
 "summary": "Foto's roteren binnen een NodeJS proces met de lwip module maakte mijn backend een geheugenvreter naarmate megapixels groeiden. Ik loste het op door het werk te verplaatsen naar een externe tool die NodeJS aanroept en afwacht.",
 "topics": [
  "AI",
  "cloud",
  "data",
  "programming",
  "server",
  "work"
 ],
 "date": "2023-05-03",
 "published": "2023-05-03T00:00:00+02:00",
 "created": "2026-08-30T07:13:30.190000+02:00",
 "updated": "2026-08-30T07:16:54.622000+02:00",
 "full_article_url": "https://willem.com/nl/2023-05-03_ai-gebruiken-om-code-te-genereren/",
 "author": {
  "name": "Willem L. Middelkoop",
  "url": "https://willem.com"
 },
 "note": "A short distillation of a longer willem.com post. Not currently published on willem.com itself.",
 "answers_question": "Waarom loopt een NodeJS backend vast op geheugen bij het verwerken van afbeeldingen?",
 "text": "Mijn content management backend roteerde geuploade afbeeldingen oorspronkelijk in-process, met NodeJS en de lwip module (LightWeight ImageProcessor). Dat werkte prima in de meeste situaties, maar naarmate afbeeldingen groter werden namen de geheugeneisen flink toe. Alles in een enkel NodeJS proces doen betekende dat de hele backend leed als hij duizenden foto's moest verwerken.\nDe gangbare strategie voor een bottleneck is hem uit het hoofdprogramma halen. In plaats van afbeeldingen binnen NodeJS te verwerken, roep ik een extern auto-rotatiescript aan dat bouwt op bewezen Debian GNU/Linux tools, exiftool en ImageMagick, en wacht ik op het resultaat. Omdat NodeJS asynchroon op de callback wacht, blijft het proces beschikbaar voor andere verzoeken.\nDe herbouw was onderdeel van het drukken van mijn cloudkosten: minder rekenkracht voor hetzelfde resultaat.",
 "markdown_url": "https://agents.willem.com/nl/snippets/nodejs-geheugenproblemen-bij-beeldverwerking-oplossen-met-externe-tools/snippet.md"
}