Der NodeJS Error EMFILE too many open files im Zusammenhang mit Grunt hat nicht unbedingt etwas mir einer fehlerhaften Programmierung zu tun. Sondern viel mehr mit der ulimit Einstellung auf dem Server.
Lösung für NodeJS Error EMFILE, too many open files Grunt
Debian cli commands to set ulimit
ulimit ausgeben lassen
ulimit -n
ulimit neu setzen
ulimit -n 5240
NodeJS ist sehr schnell. Manchmal schneller als sein eigener Schatten. Das merkt man gerade am Anfang, wenn man mit Mühe durch die Callback Hölle geht und nach Wegen sucht asynchron zu werden. Und wenn dann alles schön läuft kommt bei laufenden Systemen natürlich irgend wann auch bei NodeJS eine Hardware Grenze. Dafür sollte allerdings eine ganze Menge passieren. Das Tool mit dem ich an diese Grenze gestoßen bin verwaltet, ähnlich wie GIT, Versionen von statischen HTML Files, die über ein CMS von Redakteuren in TYPO3 versioniert werden. Die Workspace Versionierung aus TYPO3 selbst ist leider nicht zu empfehlen. Unter anderem wegen des fehlenden Supports für News.
NodeJS ist absolut empfehlenswert und man kann auch sagen, daß man bei der Entwicklung von Webapplicationen ca. 30 % Quellcode spart. Vorrausetzung hierfür ist allerdings der einsatz des SailsJS-Frameworks.
Weiterführende Links zum Thema NodeJS:
Offizielle NodeJS Homepage
NodeJS NPM Packages
SailsJS ein NodeJS Framework