【问题标题】:Why Is Heroku Server Restarting Without Any Reason?为什么 Heroku 服务器无故重启?
【发布时间】:2020-07-04 13:02:41
【问题描述】:

我为一些朋友制作了一个小游戏,没什么大不了或重要的,所以我尽量保留它。我把它上传到heroku,一切似乎都很好,直到我听到一些朋友说他们的账户不断被删除,游戏中的所有用户级别都被删除。我很困惑,因为用户和级别都存储在对象中,我没有添加删除它们的方法(相信我)。更有趣的是我做了一个测试,同时重启我的本地服务器和我的 Heroku 服务器,为两者添加一个帐户,为每个帐户添加一个级别,保存所有内容,然后关闭这些选项卡。 15 分钟后我回去检查帐户和级别是否仍然存在(它们是),然后再次关闭标签并休息一段时间(大约 5 小时)。回来的时候本地版还有账号和等级,heroku版没有账号和等级。我没有对服务器做任何事情(没有更新,没有重新启动),并且在我休息时没有人访问过该站点。我能看到的唯一会导致这个问题的是 heroku 经常在后面运行heroku restart 以清理滞后。是这样吗,如果是这样,有没有办法阻止它?

【问题讨论】:

  • 当你有一个免费的 heroku 帐户时,服务器只会在使用时运行。我忘记了他们使用的空闲时间,我想是 30 分钟,他们将其关闭以节省资源,并在发出新请求时启动。您如何存储这些数据?
  • 好吧,它只是一个JS对象,所以这就是问题
  • 是的.. 新实例将使先前记忆中的任何内容无效

标签: javascript node.js heroku


【解决方案1】:

如果您使用免费计划,应用程序会在 30 分钟后休眠。

【讨论】:

  • 我有一名工作人员正在执行一项长时间运行的任务,为我监控某事。没有向工作人员发出任何请求,实际上它甚至没有 http 侦听器,但它自己发出 Web 请求。这算空闲吗?
【解决方案2】:

这听起来像是您尝试保存的任何内容,您都在尝试将其保存在文件系统中。您不能在 Heroku 上执行此操作。如果你想使用文件系统保存状态/文件等,你可以使用 AWS S3 和 Heroku 之类的东西。

见:Ephemeral Filesystem in Heroku

【讨论】:

  • 我没有将它保存在此应用程序的文件系统中,但我会记住这一点以供将来参考
【解决方案3】:

以下是 heroku dyno 重启的场景:

  1. 闲置 30 分钟后如果您使用的是免费测功机。
  2. 在每次部署中。
  3. 每 24(+/-1) 小时一次,即使您支付了测功机费用。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多