有没有一种方法可以强制使Heroku Dyno休眠?

38

我正在尝试调试一个API问题,当我的应用程序尝试访问休眠的Heroku Dyno时会出现此问题。 问题在于,Dyno自然休眠需要一段时间,因此会严重减慢调试过程。

我知道如何关闭Dyno,但我要修复的错误似乎发生在应用程序向不立即响应但最终会响应的休眠Dyno发出请求时。


1
我知道如何关闭一个 dyno,但我试图修复的 bug 似乎发生在应用程序向睡眠的 dyno 发出请求时,该 dyno 不会立即响应,但最终会响应。这是正常的。如果 dyno 处于睡眠状态,则不会运行,并需要时间启动。这通常需要 5-10 秒钟。 - noɥʇʎԀʎzɐɹƆ
@JamesLu 我知道这很正常。我遇到的问题是在尝试复制场景时,因为没有办法强制 dyno 再次进入睡眠状态。你只能坐在那里等它进入睡眠状态,这需要很长时间。 - jeffjv
1个回答

55

我从一个Heroku工程师那里得到了确定的答案。不能强制让dyno休眠。


1
他们有没有提到是否有计划更改这个? - Ed Sykes
2
@EdSykes 不,他们没有提到任何更改计划。我的感觉是,现在不太可能添加这个功能,特别是因为在他们的新动力定价结构中,你可以获得一个便宜的业余动力,它永远不会睡觉。此外,新的免费动力必须每天睡眠6小时,所以你可以设置一个ping服务(New Relic APN)来保持它运行18小时,然后你有6小时的时间来进行测试。 - jeffjv
@PolarBear老实说,我认为他们的新定价结构是公平的。多年来,你可以不断地ping他们的免费服务器,以保持其运行,我相信他们知道这一点,但对此并不介意。现在,你仍然可以拥有一个免费的服务器,只需要让它睡眠6个小时,对于一个免费项目来说,在晚上这样做可能是安全的。而且现在,以$7获得24/7的dyno比以前的定价结构更便宜了。 - jeffjv
@PolarBear 我认为我有不同的看法。 首先,他们仍然有一个免费层。 唯一不同的是,他们正在执行睡眠策略,而以前人们会假设它会自动休眠。 可能是所有免费用户导致了他们做出这个改变。 这样做,他们现在使所有付费层更便宜。 此外,对于您的“B”,所有服务都这样做。 这被称为Freemium模型,现在每个人都有它。 学生和爱好者可以继续免费使用它,但实际上它是为未来的付费客户尝试事物而设计的。 - jeffjv
@jeffjv 问题在于不是你让Dyno休眠的时间有多长。他们没有给我们控制免费层何时休眠的权限。因此,除了测试之外,要将其用于其他任何目的都是不可能的,你无法告诉它何时关闭。我已经向Heroku支持团队询问过这个问题。我理解免费模式,但这不是他们以前的做法。以前,他们有一个低廉的免费层,适用于基本网站和极少访客。现在这已经不可能了,所以这是一种Freemium服务。他们本可以通过限制每月网站访问量或ping次数来确保人们不会滥用该服务。 - Polar Bear
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接