2012-04-19 5 views
8

Mam node.js aplikację hostowane na Herokuobchodzenia lub uniknąć błędów z upaść moją całą aplikację node.js na Heroku

Kiedy moja aplikacja napotka błąd, cały awarii serwera, co niedostępne dla nikogo .

Czy istnieje sposób na zwrócenie strony błędu i utrzymanie serwera przy życiu?

czytam to, Node.JS with forever on Heroku ale to nie jest odpowiedź na moje pytanie ....

+0

Ja * połowa * doszedłem do tego - mam problem z wysłaniem strony błędu - http://stackoverflow.com/questions/10221309/use-process-onuncaughtexception-to-show-a-500-error -page – Alex

+0

Znalazłem inny podobny post z dobrą odpowiedzią. Proszę sprawdzić [tutaj] [1] [1]: http://stackoverflow.com/questions/5999373/how-do-i-prevent-node-js-from-crashing-try- catch-doesnt-work – Sadaka

Odpowiedz

4

Prawdopodobnie możesz użyć DOMAIN, to prawdopodobnie zatrzyma twój serwer przed awarią, gdy zostanie zgłoszony wyjątek UncaughtException.

domain = require('domain'), 
d = domain.create(); 

d.on('error', function(err) { 
    console.error(err); 
}); 

Więcej szczegółów na http://shapeshed.com/uncaught-exceptions-in-node/

przy użyciu tej metody należy spróbować złapać-blok.

+1

Wiem, że to stary post, ale tylko po to, aby zaktualizować: ** DOMAIN ** została wycofana i nie powinna być już używana. – Azevedo

+0

@Azevedo Dzięki za twoją aktualizację, ale niestety nie ma innego lepszego zamiennika zapewnionego przez Node Docs. Możesz przeczytać dalej http://stackoverflow.com/questions/5999373/how-do-i-prevent-node-js-from-crashing-try-catch-doesnt-work –