2015-10-07 2 views
0

У меня есть node.js + express веб-приложение, и я вижу, что в производстве рекомендуется иметь диспетчера процессов, если ваш процесс node.js умирает.Когда процесс node.js случайно умирает?

Мой вопрос: есть ли что-то в вашем коде, которое может случайно его убить, или это только внешние факторы, которые могут его убить?

По-видимому, у меня было неправильное представление о том, что ошибка в JS будет убивать процесс узла, но, по-видимому, это не так.

ответ

3

Есть много вещей, которые могут привести к смерти вашего узла. Например, может закончиться нехватка памяти, это может привести к сбою в результате ошибки JS и т. Д.

В процессе производства вы, вероятно, захотите, чтобы процесс вашего узла перезапустился после сбоя, но вы все равно должны посмотреть, почему он сбой и исправьте свою проблему.

--EDIT-- попросил JS например аварии

Наиболее распространенной аварии я нахожу от аварии JS является код в ошибки БД, которая никогда не тестировали. Предположим, что my_obj не существует. Он не будет разбиваться, пока он не ударит по этой линии.

db.query(..., function(err, results){ 
    if(err){ 
     console.log("OH NO THERE WAS AN ERROR LOOKING UP " + my_obj); 
    } else { 
     //handle success 
    } 
}); 
+0

Не могли бы вы привести пример JS-кода, который приведет к ошибке, которая приведет к уничтожению процесса? –

+0

Конечно, я уточню свой ответ. –

Смежные вопросы