javascript - 避免 heroku 服务器休眠

标签 javascript node.js heroku jobs

我在 Heroku 上托管了一个网站服务器(我是 Heroku btw 的新手),因为它在免费包下,它会在 30m 不活动后休眠,并在用户点击它,大约需要 7 秒才能 npm run start 成功。

我正在考虑运行一个 nodejs 作业或每 29 米打开一次网站的东西,这样服务器就永远不会休眠,最初,我得到了这样的东西:

(function wakeup() {
  require('open')('https://mywebsite.herokuapp.com', (err) => {
    if (err) throw err;
    console.log('Woke up!');
    setTimeout(wakeup, 1740000); //29m
  });
})()

注意:这只是在浏览器中打开它,而不处理关闭它。

  • 首先,执行此变通办法是否合法?
  • 其次,如果是,实现它的最佳方法是什么?

最佳答案

通过任何方式让您的免费测功机保持清醒状态是完全合法的。 请注意,您每月分配的 free dyno hours是有限的。 如果您使用信用卡验证了您的 Heroku 帐户,那么您每月有 1000 个免费的 dyno 小时,这足以让一个免费的 web dyno“永远”不 sleep 。 一个非常简单的方法就是配置一个 New Relic add-on为您的应用程序(使用免费的 New Relic 计划),您可以轻松地将其配置为定期 ping 您的 Heroku 应用程序。 有关防止 Heroku 应用程序空闲的其他方法,请参阅 here .

关于javascript - 避免 heroku 服务器休眠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40646858/

相关文章:

javascript - 在 Controller 中调用模态函数 - AngularJS

javascript - 如何取消绑定(bind)正在调用 event.preventDefault() 的监听器(使用 jQuery)?

javascript - Import.meta.env 在生产构建 vitejs 上未定义

node.js - 使用 Express 对请求 header 进行身份验证

ruby-on-rails - Heroku 和 RubyMine

javascript - 尝试制作 css 布局

javascript - Ajax 成功 : {return false;}

javascript - 使用 Promise 从函数传递数据并返回数据

heroku - 在 Heroku 上使用第三方包进行 Go 项目

ruby-on-rails - 使用ActiveAdmin,SearchKick和SearchBox在Heroku上出现Elasticsearch::Transport::Transport::Errors