node.jsで定期的にスクリプトを実行するにはpm2が便利

定期的にスクリプトを実行するには定期的にタスクを実行させるnode-cronとプロセス管理ツールのpm2でスクリプトをデーモン化することによって実現できます。

例えば、毎日午前6時にgood morningを表示するだけのcron.jsを作成してみます。

インストール

まずはpm2とnode-cronをインストールします。

npm install pm2 -g 
npm install node-cron 

cron.jsを作成

定期的に実行するcron.jsを作成します。cronの詳しい表記はこのリンクが参考になります。

let cron = require('node-cron');
cron.schedule('0 0 6 * * *', () => {
  //定期的に実行する
  console.log('good morning');
});

scheduleの第一引数でスクリプトが実行される時刻を指定しています。左から秒、分、時、日、月、曜日となっています。アスタリスクは任意の時間を表しています。
第二引数のコールバックに処理内容を記述します。

pm2を使ってデーモン化

プロセスをデーモン化するのはとっても簡単です。

pm2 start cron.js

でデーモン化できます。また、プロセスを停止させるには

pm2 stop cron.js

を実行します。
logを表示させたい場合は

pm2 logs cron

を実行します。

Related Contents

Pickup Contents