Wo haben Sie gelesen, dass process.on('uncaughtException')
eine schlechte Praxis ist?
Solange Sie den Prozess beenden, nachdem die Ausnahme Anmeldung Ich sehe nicht, was schlecht ist, hier ein Beispiel:
process.on('uncaughtException', function(e) {
console.error('Ouch, an unhandled exception');
//I like using new Error() for my errors (1)
console.error(e instanceof Error ? e.message : e);
process.exit(1);
});
(1): Javascript Error reference
bearbeiten pm2- Schnittstelle ist jetzt veraltet, verwenden Sie stattdessen require('pm2')
. Sie können dasselbe wie unten mit bus system events tun.
Eine Alternative mit PM2 ist pm2-interface und das Hören auf die process:exit
oder process:exception
Ereignisse zu verwenden:
var ipm2 = require('pm2-interface')();
ipm2.on('ready', function() {
console.log('Connected to pm2');
ipm2.bus.on('process:exception', function(data){
console.log(data.pm2_env.name + 'had an exception');
});
});
Diese praktische Möglichkeit wirklich, wenn mehr als ein Prozess durch einen Überwachungsprozess zu verwalten.
Sie können den Blogpost auf how to build a custom pm2 logger überprüfen. Es kann Ihnen einige Ideen zur Überwachung von Prozessen durch pm2-interface
geben.