JavaRush /Java Blog /Random-JA /Heroku のちょっとしたトリック
Игорь
レベル 40
Киев

Heroku のちょっとしたトリック

Random-JA グループに公開済み
状況を想像してみましょう。JavaRush コースを修了し、オンライン インターンシップを修了し、Heraku PaaS プラットフォーム上で最初のプロジェクトを完成しました。あなたは履歴書を送り、面接に行き始めます。そして、そのうちの1つでは、あなたのプロジェクトを見せてほしいと頼まれます(または、履歴書のリンクをたどって、面接前でもすぐに見たいと思うでしょう)。ブラウザが開き、サイトの読み込みに時間がかかります。はい、これは無料の Heroku であり、そのように機能するという説明はできますが、その印象は台無しになってしまいます。この記事では、この動作の理由とそれに対処する方法を理解しようとします。
Heroku のちょっとしたトリック - 1
ダイナモ時間の概念から始めましょう。ドキュメントによると、Dyno 時間は基本的に、時間/月で表されるアプリケーションの実行時間です。無料アカウントに登録した直後は、月あたり 550 時間の時間が与えられます。単純に計算すると、1 つのアプリケーションで 1 日あたり約 17 時間の作業が必要になります。それでは十分ではありません。したがって、 [アカウント設定] - [請求]でクレジット カードをリンクし、さらに 450 時間の無料時間を取得します (すでに 1 日あたり 32 時間)。この問題は解決されました。もう一つあります。上記の文書には、30 分間アクティビティがない場合、アプリケーションは「ダイノ スリープ」になるとも記載されています。インターネットには主に 3 つのアプローチがあります。
  1. 定期的に (たとえば、5 分に 1 回)、アプリケーション自体内からアプリケーションにリクエストを送信します。

    JavaScript を使用すると次のようになります。

    var http = require("http");
    setInterval(function() {
        http.get("http://<your app name>.herokuapp.com");
    }, 300000); // every 5 minutes (300000)
  2. 指定した間隔でサイトをチェックする外部 ping サイトを使用します。

    そのようなサイトの例としては、PingdomUptime RobotKaffeineなどがあります。原理は簡単です。入って、(必要に応じて)登録し、サイトと時間間隔を指定して、設定を適用します。

  3. Heroku Newrelic アドオンを使用する このプラグインは、サイトのクラッシュを監視して通知するように設計されていますが、便利な「副作用」として、アプリケーションがスリープ状態に陥るのを防ぎます。私はこの方法に落ち着きました。私の意見では、これが最も美しいと思います。さらに詳しく説明します。

    アドオンをインストールするには、このリンクをクリックし、[New Relic APM のインストール]ボタンをクリックする必要があります。開いたウィンドウで、料金プランとこのアドオンを適用するアプリケーションの名前を選択する必要があります。

    Heroku のちょっとしたトリック - 2

    次に、「アドオンのプロビジョニング」ボタンを押します。

    インストール後、アプリケーション設定ページのインストール済みアドオンのリストで New Relic を使用できるようになります。

    Heroku のちょっとしたトリック - 3

    リンクをクリックすると、アドオン設定ページが表示されます。

    「合成」タブに移動し、「新規追加」ボタンをクリックします。

    Heroku のちょっとしたトリック - 4

    開いたウィンドウの「詳細を入力」セクションで、モニターの任意の名前と監視するサイトのアドレスを指定します。「監視場所の選択」でサイトをチェックする場所を選択します。

    「スケジュールを設定する」でチェックする頻度を示し(私は15分に設定しました)、「通知を受け取る」で通知用のメールを指定します。

    すべての設定が完了したら、「モニターの作成」ボタンをクリックすることを忘れないでください。

ほら、モニターが作成されたので、アプリケーションは24 時間年中無休で動作し、最も重要な瞬間に失敗することはありません :)
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION