Penggunaan Cron Jobs di Node.js
Cron biasanya digunakan untuk mengeksekusi sesuatu sesuai jadwal yang telah ditentukan.
Sebagai contoh, ketika hendak melakukan backup database, rather than do it manual every day secara terus menerus kita bisa memanfaatkan cron untuk melakukan backup otomatis secara terjadwal.
Pada artikel kali ini saya akan sedikit membahas bagaimana penggunaan cron jobs di NodeJS.
Table of Contents
– Getting Started
– node-cron basic understanding
– Case: Auto Send Daily Reports by email
– End
Before we get started, make sure node.js has been installed on your device!
# Lets Code
Getting Started
Buatlah sebuah direktori beserta file index.
mkdir cron-jobs-example && cd cron-jobs-example && touch index.js
And then, initialize dengan default config.
npm init -y
install package yang dibutuhkan .
npm install node-cron --save
Tambahkan code di file index.js sehingga menjadi seperti ini :
Ketika kita jalankan, maka hasilnya akan seperti ini :
node-cron basic understand
Allowed field option by node-cron :
- jika ingin menjalankan task di tiap menit ke 5 setiap jamnya:
- jika ingin menjalankan task di tanggal 20, jam 23:50 di tiap bulannya:
Case: Auto Send Daily Reports by email
Berikut ini adalah sebuah contoh case penggunaan cron jobs untuk mengirimkan daily report total transaksi dan total income melalui email setiap hari pada jam 23:59
Buat sebuah direktori baru beserta file index.
mkdir cron-transaction && cd cron-transaction && touch index.js
Initialize dengan default config.
npm init -y
install package node-cron dan nodemailer.
npm install node-cron nodemailer --save
Lalu tambahkan script start di package.json sehingga menjadi seperti ini :
And then, tambahkan code berikut di file index.js :
Disini saya memberikan schedule ke cron jobs untuk mengirimkan email daily report setiap hari pada jam 23:59. Kalian bisa merubah schedule tersebut pada line ke-6 code diatas.
Coba jalankan app ini.
npm run start
dan voilà, hasilnya jadi seperti ini.
End
You can access this code bellow.
Semoga yang sedikit ini bermanfaat. Terimakasih