🕒

RenderのCron JobsでLINE Botから定期的にメッセージを配信する

2022/12/18に公開

RenderCron Jobsを使って、LINE Botから定期的にメッセージを送る設定をしてみました。
Renderアカウントの準備、Githubからのデプロイ、Cron Jobsの定期実行までを本記事で扱います。
LINE Botに限らず、Renderでスケジュール実行を行いたい場合に参考にしていただければと思います。

なお、LINE BotはGoで実装しましたが、Botの実装自体は本記事では扱いません。
以下の記事でSpotifyの新作リリース情報を送る処理を実装しましたので、今回はそれを毎週特定の時間に実行し、定期的に配信するようにしました。
https://zenn.dev/shimpo/articles/spotify-new-release-bot

Renderの概要

Renderは様々なWebアプリをデプロイできるPaaSで、Herokuの代替となるようなサービスです。

Webサーバーのデプロイや静的サイトのホスティング、バックグラウンドジョブ、Cron Jobs、自動バックアップ機能付きDBなどが揃っています。
Githubから簡単にデプロイできます。

https://render.com/

なお、Herokuとの比較については、公式のこちらのページにも書かれています。

Renderアカウントの準備

こちらからRenderアカウントを作成します。
Github経由でアカウントを作成すると楽です。
Github認証・メール認証をするとダッシュボードにアクセスできます。

Cron Jobsを作成

以下公式ドキュメントです。
https://render.com/docs/cronjobs

対象

今回は以下のレポジトリを使用します。
https://github.com/t-shimpo/spotify-new-release-bot
前述した記事で作成したものになります。

手順

ダッシュボードからNew Cron Jobボタンをクリックします。

Cron Jobsは無料のサービスではないため、クレジットカードの登録が求められます。

クレジットカードを登録すると、Cron Job作成画面に遷移します。

レポジトリと接続するか、パブリックなレポジトリのURLから設定するかの2種類の方法が用意されていますが、今回はレポジトリと接続する方法にしました。
画面右のConnect accountをクリックして設定できます。
設定すると、以下のようにレポジトリが表示されますので、Connectボタンをクリックします。

すると設定画面に遷移しますので、NameBuild CommandScheduleCommandなどの必要項目を入力します。

また、今回は環境変数を使用しているため、Advancedをクリックし、Add Environment Variablesから環境変数の登録も行いました。

入力を終えたら、Create Cron Jobをクリックします。

以下の画面に遷移し、cronの状態を確認できます。
Buildも自動で行われます。

LINE画面
実際にメッセージが送信されることも確認できました。

参考資料

https://render.com/
https://render.com/docs/cronjobs

GitHubで編集を提案

Discussion