指定した時刻ごとに処理を実行したい
setIntervalだと最初に実行した時刻から見て一定時間ごとのようにしか書けない
JavaScriptで書こうとするとそれなりに大変なのでライブラリを使うのがおすすめ
node-cronを使う方法
まずライブラリをインストールする
npm install node-cron または yarn add node-cron
毎時0分に実行するコード
code:js
const cron = require('node-cron')
cron.schedule('0 * * * *', () => {
console.log('0分だよ')
})
* * * * *は繰り返す時間を意味していて、スペース区切りにそれぞれ分、時間、日付、月、曜日を数値で表している
先頭に省略可能な 秒 もあって、スペース区切りで6つ書けば最初の数値が秒になる
例えば毎分30秒に実行するのは30 * * * * *のようになる
数値はそのまま実行する時間,分などを指定している
0,30のようにカンマで区切るこどで複数の数値を書くこともできる
*は特に時間を指定せず、毎時,毎秒のようにそれぞれ実行することを表している
参考