RenderのCron JobsでLINE Botから定期的にメッセージを配信する
RenderのCron Jobsを使って、LINE Botから定期的にメッセージを送る設定をしてみました。
Renderアカウントの準備、Githubからのデプロイ、Cron Jobsの定期実行までを本記事で扱います。
LINE Botに限らず、Renderでスケジュール実行を行いたい場合に参考にしていただければと思います。
なお、LINE BotはGoで実装しましたが、Botの実装自体は本記事では扱いません。
以下の記事でSpotifyの新作リリース情報を送る処理を実装しましたので、今回はそれを毎週特定の時間に実行し、定期的に配信するようにしました。
Renderの概要
Renderは様々なWebアプリをデプロイできるPaaSで、Herokuの代替となるようなサービスです。
Webサーバーのデプロイや静的サイトのホスティング、バックグラウンドジョブ、Cron Jobs、自動バックアップ機能付きDBなどが揃っています。
Githubから簡単にデプロイできます。
なお、Herokuとの比較については、公式のこちらのページにも書かれています。
Renderアカウントの準備
こちらからRenderアカウントを作成します。
Github経由でアカウントを作成すると楽です。
Github認証・メール認証をするとダッシュボードにアクセスできます。
Cron Jobsを作成
以下公式ドキュメントです。
対象
今回は以下のレポジトリを使用します。前述した記事で作成したものになります。
手順
ダッシュボードからNew Cron Job
ボタンをクリックします。
Cron Jobsは無料のサービスではないため、クレジットカードの登録が求められます。
クレジットカードを登録すると、Cron Job作成画面に遷移します。
レポジトリと接続するか、パブリックなレポジトリのURLから設定するかの2種類の方法が用意されていますが、今回はレポジトリと接続する方法にしました。
画面右のConnect account
をクリックして設定できます。
設定すると、以下のようにレポジトリが表示されますので、Connect
ボタンをクリックします。
すると設定画面に遷移しますので、Name
、Build Command
、Schedule
、Command
などの必要項目を入力します。
また、今回は環境変数を使用しているため、Advanced
をクリックし、Add Environment Variables
から環境変数の登録も行いました。
入力を終えたら、Create Cron Job
をクリックします。
以下の画面に遷移し、cronの状態を確認できます。
Buildも自動で行われます。
LINE画面
実際にメッセージが送信されることも確認できました。
参考資料
Discussion