【问题标题】:Have to restart Meteor every time exception is thrown on Server每次在服务器上引发异常时都必须重新启动 Meteor
【发布时间】:2023-03-30 15:39:01
【问题描述】:

在开发中,我看到当服务器上抛出异常时......我无法通过客户端访问应用程序,直到我在终端中重新启动 Meteor。这可能需要一些时间。这应该发生吗?在 Prod 上,这是否需要手动重新启动服务器?谢谢!

【问题讨论】:

  • 当然,您需要修复问题以使其不会导致服务器崩溃或安排服务器自动重新启动。由于 Meteor 设计为以这种方式工作,因此其他人也提出了同样的问题。例如:forums.meteor.com/t/…

标签: javascript node.js meteor


【解决方案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 的 Galaxy 托管服务也会为您解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2017-01-06
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多