【问题标题】:How to restart Meteor server from within Meteor.js如何从 Meteor.js 中重新启动 Meteor 服务器
【发布时间】:2014-11-05 17:21:06
【问题描述】:

我使用 Meteor 制作的一个项目存在内存泄漏,该泄漏会在一两个月内缓慢累积。在花了几天时间寻找泄漏之后,我放弃了,赞成只添加每月发生一次的自动重启。是的,这是不好的做法,等等。

有没有办法从服务器的代码库中简单地重新启动?理想情况下,这也会触发连接客户端的刷新(类似于定期部署更新)。

然后我假设这个命令可以嵌套在一个很好的旧 JS 超时函数中。

【问题讨论】:

  • 我认为简单的process.exit() 应该可以完成这项工作,因为无论如何您的应用程序可能会在具有自动重启功能的环境中运行。
  • 您是否尝试过使用kadira.io 来查找问题?

标签: javascript node.js meteor


【解决方案1】:

apendua 提供的答案有效。这是一个彻底的 hack,不建议在大多数情况下使用,但对于长期内存泄漏非常有用。

把它放在你的启动脚本中:

var restartFrequency = 1000 * 60 * 24; // 1 day (1000 millsec * 60 min * 24 hour)
setTimeout(function(){
  process.exit();
}, restartFrequency);

【讨论】:

  • 1000 毫秒 == 1 秒。你的比赛应该是1000 * 60 * 60 * 24 => 1s * 60 (== 1 min) * 60 (== 1 hr) * 24 (== 1 day)
猜你喜欢
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
  • 2011-03-19
  • 2017-12-29
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
相关资源
最近更新 更多