Wenn es darum ging, in Node.js ein besitmmtes Script kontinuiertlich am Laufen zu halten, besorgte man sich bis heute via npm das Tool „forever„. Via Kommandozeile füttert Ihr es mit Eurem gewünschten Prozess, den forever dann beliebig lange ausführt. Alexandre Strzelewicz vom Infrastruktur-Management-Service devo.ps hat der Funktionsumfang von Node forever aber nicht gereicht. Daher entwickelten er und seine Kollegen mit PM2 ein Tool, das sämtliche Mankos ausbessert, auf die sie in forever stießen. Die Vergleichstabelle zeigt, wo die hauptsächlichen Unterschiede liegen:
Feature | Forever | PM2 |
---|---|---|
Keep Alive | ✔ | ✔ |
Coffeescript | ✔ | |
Log aggregation | ✔ | |
API | ✔ | |
Terminal monitoring | ✔ | |
Clustering | ✔ | |
JSON configuration | ✔ |
PM2 ist ebenfalls im Node Package Manager erhältlich. Es wird auf GitHub kollaborativ unter MIT-Lizenz weiterentwickelt. Kommende Versionen sollen Remote-Checking erlauben, einen Message-Bus bieten und V8-Memory-Leaks erkennen. Ein Web Interface soll die Daten sichtbar machen, die überdies dauerhaft persistiert werden sollen. Automatisierte E-Mail-Benachrichtigungen sollen ebenfalls folgen.