Penggunaan Cron Jobs di Node.js

Muhammad Athallah Zhuhry
JavaScript Indonesia Community
3 min readSep 26, 2019

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 :

index.js

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:
index.js
  • jika ingin menjalankan task di tanggal 20, jam 23:50 di tiap bulannya:
index.js

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 :

package.json

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.

--

--