避免 heroku 服务器休眠
Avoid heroku server from sleeping
我在 Heroku 服务器上托管了一个网站(顺便说一句,我是 Heroku 的新手),并且由于它在免费包下,它会在之后休眠30 米的不活动时间,当用户点击它时再次启动它,大约需要 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
});
})()
N.B.: 这只是在浏览器中打开它,但不处理关闭它。
- 首先,执行此解决方法是否合法?
- 其次,如果是,实现它的最佳方法是什么?
让您的免费测功机保持清醒状态是完全合法的,只要您愿意,您可以使用任何方式。
请注意,您每月分配的 free dyno hours 是有限的。
如果您使用信用卡验证了您的 Heroku 帐户,您每月有 1000 个免费的 dyno 小时,这足以让一个免费的 web dyno 保持 "forever" 不睡觉。
一个非常简单的方法就是为您的应用程序配置一个 New Relic add-on(使用免费的 New Relic 计划),您可以轻松地配置它以定期 ping 您的 Heroku 应用程序。
有关防止 Heroku 应用程序空闲的其他方法,请参阅 here。
试试 Kaffeine 它会阻止您的应用休眠。
Heroku 强制免费应用休眠 6 小时。 Kaffeine 让您可以选择应用何时休眠
我在 Heroku 服务器上托管了一个网站(顺便说一句,我是 Heroku 的新手),并且由于它在免费包下,它会在之后休眠30 米的不活动时间,当用户点击它时再次启动它,大约需要 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
});
})()
N.B.: 这只是在浏览器中打开它,但不处理关闭它。
- 首先,执行此解决方法是否合法?
- 其次,如果是,实现它的最佳方法是什么?
让您的免费测功机保持清醒状态是完全合法的,只要您愿意,您可以使用任何方式。 请注意,您每月分配的 free dyno hours 是有限的。 如果您使用信用卡验证了您的 Heroku 帐户,您每月有 1000 个免费的 dyno 小时,这足以让一个免费的 web dyno 保持 "forever" 不睡觉。 一个非常简单的方法就是为您的应用程序配置一个 New Relic add-on(使用免费的 New Relic 计划),您可以轻松地配置它以定期 ping 您的 Heroku 应用程序。 有关防止 Heroku 应用程序空闲的其他方法,请参阅 here。
试试 Kaffeine 它会阻止您的应用休眠。 Heroku 强制免费应用休眠 6 小时。 Kaffeine 让您可以选择应用何时休眠