我在 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/