Ich habe eine NodeJS-App mit Express 4, Mongoose und MongoDB ausgeführt. Dann bekam ich eine mögliche Bot-GET-Anfrage, auf die die Antwort 404 war. Normalerweise macht die App danach kein Problem, aber diesmal sah es so aus, als wäre sie eingefroren oder zum Stillstand gekommen. Und in meinem Browser würde keine Seite geladen, obwohl die App technisch noch läuft. Nach dem Neustart wurde es wieder normal.Wie kann sichergestellt werden, dass NodeJS nach fehlerhaften Anforderungen wiederhergestellt wird?
Nach testproxy.php würde es nur halb leere Zeilen emittieren.
Ich weiß, es gibt für immer Modul, das Ihre App neu starten würde, wenn es abstürzt, nicht sicher, es wäre in diesem Fall hilfreich gewesen.
EDIT:
In meinem app.js (I in dev-Modus war):
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
Es sollte 500 Fehler gedruckt haben, aber es hat nicht, weil es dachte, dass es den 404 Fehler behandelte und ich glaube nicht, dass als nächstes (err) in diesem Fall gefeuert wurde.
immer Modul sehr nützlich, wenn Sie einen unerwarteten Fehler haben, können so immer neu starten, die node.js. Über die Get ohne Antwort, manchmal habe ich das gleiche Problem in meiner Anwendung, ich muss nur die Seite (Browser) neu laden und alles wieder normal. Ich würde gerne wissen, warum das manchmal passiert. – danilodeveloper
Gute Frage, warum es passiert. –