让我们想象一下情况。您完成了 JavaRush 课程,完成了在线实习,并且在Heroku PaaS 平台上有了您的第一个项目。您发出简历并开始面试。其中之一,他们要求你展示你的项目(或者他们甚至在面试之前就想通过你简历中的链接快速查看它)。浏览器打开,您的网站需要很长时间才能加载。是的,你可以解释说这是免费的 Heroku,这就是它的工作原理,但这种印象被破坏了。我们将在本文中尝试了解这种行为的原因以及应对方法。
让我们从dyno hours的概念开始。根据文档,Dyno 小时数本质上是应用程序的运行时间,以小时/月表示。注册免费帐户后,您每月将获得 550 小时的使用时间。简单计算一下,一个应用程序每天大约需要 17 个小时。这还不够。因此,我们在帐户设置 - 计费中链接信用卡并获得另外 450 个免费小时(已经是每天 32 小时)。这个问题已经解决。还有一个。上述文档还指出,如果 30 分钟没有任何活动,应用程序将“dyno sleep” 。网上主要有三种方式:
-
定期(例如每 5 分钟一次)从应用程序本身向应用程序发送请求。
使用 JavaScript,它看起来像这样:
var http = require("http"); setInterval(function() { http.get("http://<your app name>.herokuapp.com"); }, 300000); // every 5 minutes (300000)
-
使用外部 ping 站点以指定的时间间隔检查您的站点。
此类网站的示例包括Pingdom、Uptime Robot、Kaffeine等。原理很简单。我们进去,注册(如果需要),指示站点和时间间隔并应用设置。
-
使用Heroku Newrelic 插件 该插件旨在监视和通知站点崩溃,但作为一个有用的“副作用”,它会阻止应用程序进入睡眠状态。我选择了这种方法,在我看来,这是最美丽的。我将更详细地描述它。
要安装该插件,您需要点击此链接并单击“Install New Relic APM”按钮。在打开的窗口中,您需要选择资费计划以及将应用此插件的应用程序的名称。
然后按“提供附加组件”按钮。
安装后,New Relic 将在已安装插件列表中的应用程序设置页面上可用。
单击该链接,您将进入附加组件设置页面。
转到“合成”选项卡并单击“添加新”按钮。
在打开的窗口中的“输入详细信息”部分中,指定监视器的任意名称以及我们将监视的站点的地址。我们在“选择监控位置”中选择要检查站点的位置。
我们在“设置时间表”中注明检查频率(我将其设置为 15 分钟),并在“获取通知”中注明通知电子邮件。
完成所有设置后,不要忘记单击“创建监视器”按钮。
GO TO FULL VERSION