Необходимо перезапускать Meteor каждый раз, когда на сервере генерируется исключение

#javascript #node.js #meteor

#javascript #node.js #meteor

Вопрос:

В процессе разработки я вижу, что когда на сервере генерируется исключение…Я не могу получить доступ к приложению через клиент, пока не перезапущу Meteor в своем терминале. Это может занять некоторое время. Это должно произойти? В Prod это потребует ручного перезапуска сервера? Спасибо!

Комментарии:

1. Вам, конечно, нужно либо устранить проблему, чтобы она не приводила к сбою сервера, либо организовать автоматический перезапуск сервера. Поскольку Meteor предназначен для работы таким образом, другие люди задавали тот же вопрос. Например: forums.meteor.com/t /…

Ответ №1:

Это должно произойти?

Да, это так, однако Meteor также перезапускается, как только вы редактируете один из своих файлов, предположительно, для устранения причины исключения.

В Prod это потребует ручного перезапуска сервера?

да, это было бы! Многие люди используют forever для автоматического перезапуска своего производственного приложения, если это произойдет, но в настоящее время я действительно думаю, что нужно использовать [Meteor-up] (http://meteor-up.com /) для развертывания и запуска рабочего приложения. Более того, я бы настоятельно рекомендовал добавить универсальный в производство. Кто-то в вашем серверном коде добавляет это:

 process.on('uncaughtException', function(err) {
  // handle the error safely
  console.log("uncaughtException: ", err.message, err.stack);
});
  

Перехватывая его таким образом, исключение не приведет к сбою приложения, т. Е. Автоматический перезапуск не требуется. Поскольку все еще могут быть другие причины сбоя (например, проблемы с нехваткой памяти), я бы все же рекомендовал использовать meteor-up или аналогичный в производстве. Предположительно, хостинг Meteor’s Galaxy позаботится об этом и для вас.