2013-06-16 6 views
0

В article about node's domains, они говорят, что я не должен игнорировать ошибки -Когда мне нужно закрыть процесс NodeJS?

«Лучше подход отправить ошибочный ответ на запрос, что вызвавшего ошибку, в то время позволяя другим закончить в нормальном времени, и прекратите слушать новые запросы в этом работнике ».

Так что мой вопрос, на какие типы ошибок я должен закрыть процесс:

  • Должен ли я закрыть процесс на любой ошибки?
  • что если ошибка не является частью цикла req/res - должен ли я еще закрыть процесс? скажем, я делал некоторые вызовы по данным из БД, а затем, когда снова сохранял его в БД, я получил ошибку - должен ли я закрыть процесс?
  • Должен ли я закрыть процесс, только когда получаю "uncaught exception"?

В общем, я был бы рад некоторым общим рекомендациям о том, когда нужно закрыть процесс node.js.

Спасибо.

ответ

1

Это что-то, что связано прежде всего с неперехваченными исключениями.

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

Если ваш процесс встречает ошибку, которую обрабатывает ваш код, тогда нет причин для перезапуска - вы специально добавили код обработки для ошибки, чтобы приложение не перешло в недопустимое состояние и может изящно обрабатывать сценарий ошибок ,

Таким образом, ответ на конкретный вопрос, когда вы должны закрыть, - это когда есть исключение.

+0

Thanks Jani. ОК. Поэтому, когда в процессе происходит «uncaughtException», я закрою процесс. Как насчет доменов? Я думаю, что они должны заменить «uncaughtException». Если это так - тогда каждый бит кода, который я пишу, должен быть в каком-то домене, верно? – Daniel

+0

Я не использовал домены много, но без необходимости вводить код в них мог бы немного походить на то, чтобы вся ваша кодовая база была обернута большой пробкой. –

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