はじめに
herokuにデプロイしたアプリをいい感じに定期実行したいな
↪︎HerokuSchedulerで対応できるのか🤔
↪︎クレカの登録面倒だしcronチックに設定できないかな
Node.js上で定期的にLINE通知を送ってくるアプリに組み込みました。
結論
const nodeCron = require('node-cron');
var task = nodeCron.schedule('0 */12 * * *', function() {
// 定期実行する処理
});
task.start(); // タスクの実行 task.stop()を呼び出すまで定期実行してくれる
Cronの時刻フォーマット
┌──────────── 分(0〜59)
| ┌────────── 時(0〜23)
| | ┌──────── 日(1〜31)
| | | ┌────── 月(1〜12)
| | | | ┌──── 曜日(0〜7 0も7も日曜日 Calendarクラスは滅びるべき)
| | | | |
* * * * *
Herokuがアイドル状態になるのを防ぐ
30分アクセスが無いとアプリがアイドル状態になってしまい、task.start()でエラーが起きるため、
アイドル状態にならないように叩き起こす必要がある。
そこでUptime Robotを使う