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