在Heroku的免费应用程序中,dyno似乎一直在空转——我的应用程序流量很低,但在我的情况下,我的用户不得不等待20多秒才能启动一个新的dyno,这也是不能接受的。
坦率地说,在这样的等待下,许多人甚至在第一页显示之前就离开了。
所以,我遇到了一个问题:当我每天的流量都在个位数时,我是否应该每月支付36美元来为每个用户节省令人尴尬的漫长20秒?
有没有办法解决这个问题?
在Heroku的免费应用程序中,dyno似乎一直在空转——我的应用程序流量很低,但在我的情况下,我的用户不得不等待20多秒才能启动一个新的dyno,这也是不能接受的。
坦率地说,在这样的等待下,许多人甚至在第一页显示之前就离开了。
所以,我遇到了一个问题:当我每天的流量都在个位数时,我是否应该每月支付36美元来为每个用户节省令人尴尬的漫长20秒?
有没有办法解决这个问题?
当前回答
我使用的Heroku调度插件由Heroku免费提供。一旦添加,它就像创建一个带有“curl http://yourapp.herokuapp.com”和10分钟间隔的作业一样简单。
其他回答
Freshping是另一种免费资源,可以让你的免费Heroku应用全天候有效。
你也可以试试http://kaffeine.herokuapp.com(由我制作),它是为了防止Heroku应用程序进入睡眠。它将每10分钟ping你的应用程序,所以你的应用程序不会进入睡眠状态。完全免费。
它在Heroku文档中说,拥有超过1个web dyno将永远不会闲置。可能有一个比皮埃尔建议的每小时0.09美元更便宜的解决方案。
文档
一份cron工作就可以了。见https://cron-job.org。它是免费和可靠的。
在我看来,使用服务的“免费”层不应该为产品或面向客户的应用程序提供动力。虽然上面的解决方案可以防止Dyno空转,但请仔细考虑您正在做的事情。
如果没有其他方法,可以使用cron作业来ping你的站点,并在已知的低使用率时期(例如,夜间)禁用检查,以确保Heroku不会为其他所有人取消免费层。