Ero in esecuzione un'app NodeJS con Express 4, Mongoose e MongoDB. Poi ho ricevuto una possibile richiesta GET di bot a cui la risposta era 404. Di solito l'app prosegue senza alcun problema, ma questa volta sembrava bloccata o bloccata. E nessuna pagina verrebbe caricata nel mio browser sebbene l'app fosse ancora tecnicamente in esecuzione. È tornato alla normalità dopo il riavvio.Come assicurarsi che NodeJS recuperi dopo richieste errate?
Dopo testproxy.php, emetterebbe solo linee vuote.
So che c'è sempre un modulo che riavvierebbe la tua app se si blocca, non è sicuro che sarebbe stato utile in questo caso.
EDIT:
Nei miei app.js (ero in modalità dev):
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
});
});
}
Si dovrebbe aver stampato 500 errore, ma non ha perché pensavo che gestisse l'errore 404 e non penso che il prossimo (err) sia mai stato licenziato in questo caso.
Sempre modulo è utile quando si dispone di un errore imprevisto, quindi sempre in grado di riavviare il node.js. Informazioni su come ottenere senza risposta, a volte ho lo stesso problema nella mia applicazione, ho solo bisogno di ricaricare la pagina (browser) e tutto torna alla normalità. Mi piacerebbe sapere perché a volte succede. – danilodeveloper
Buona domanda, perché succede. –