Halo Talenta Digital! Selamat datang kembali di blog Ruang Developer. Gimana kabarnya hari ini? Masih tetap semangat kan yaa? Pada kesempatan ini kita akan membahas tentang apa itu cron job dan bagaimana cron job digunakan dalam dunia pemrograman. Yuk kita bahas.

Apa Itu Cron Job?

Sebuah aplikasi atau sistem biasanya akan bekerja ketika terdapat perintah yang diberikan, baik itu perintah yang berasal dari pengguna maupun perintah yang berasal dari sistem lain. Perintah-perintah tersebut antara lain seperti menambah data, mengirim email, melakukan perubahan data, menghapus, dan lain-lain. Terkadang, ada beberapa perintah yang akan sama dilakukan secara berulang pada waktu yang sama, misalnya melakukan backup database atau membersihkan temporary file tiap jam 1 malam. Nah, hal ini akan lebih efisien jika sistem bisa melakukannya secara otomatis sehingga tidak perlu menunggu perintah manual.

Cron job hadir untuk mengatasi ketidakefisienan tersebut. Dengan cron job, kita bisa membuat suatu aplikasi atau sistem dapat menjalankan pekerjaan rutin tanpa harus diberi perintah dari pengguna.

Lalu apa itu cron job?

Cron job adalah sebuah command atau perintah yang digunakan untuk menjadwalkan suatu pekerjaan di waktu yang akan datang, baik itu hanya satu kali maupun secara rutin. Wow, keren ya?

Cron Job Expressions

Cron job didefinisikan menggunakan unix-cron string format (* * * * *) yang berupa lima buah field dalam satu baris menunjukkan kapan sebuah job akan dijalankan.

Schedule cron fields

Dapat kita lihat pada gambar di atas, setiap field digunakan untuk menunjjukan waktu mulai dari menit, jam, tanggal, bulan, dan hari.

Berikut ini tabel ketentuan nilai yang valid untuk digunakan pada field unix-cron:

Field Nilai yang valid
Min (menit) 0-59
Hour (jam) 0-23
Day of the month (tanggal) 1-31
Month (bulan) 1-12 atau JAN-DEC
Day of week (hari) 0-6 atau SUN-SAT, atau 7 untuk minggu

Karakter Spesial

Tiap field tidak hanya bisa diisi dengan nilai seperti pada ketentuan di tabel sebelumnya. Tetapi juga bisa diisi dengan beberapa karakter spesial.

  • Field bisa diisi dengan asterisk karakter (*)
  • Dua angka yang dipisahkan dengan karakter hyphen (-) dianggap sebagai rentang waktu.
  • Angka yang diikuti dengan /NUMBER akan dianggap sebagai interval waktu. Misalnya */2 yang tuliskan pada field hour berarti akan dijalankan tiap 2 jam.
  • Beberapa angka yang dituliskan dan dipisahkan dengan koma (,). Misalnya 1,3 pada field day of the month berarti akan dijalankan tiap hari pertama dan hari ketiga setiap bulan.

Contoh Penjadawalan Menggunakan Cron Job

Sepertinya agak membingungkan ya bagaimana cara membuat jadwal cron job. Nah, berikut ini beberapa contoh jadwal jika dituliskan dalam format cron job.

Jadwal Format cron job
Setiap menit * * * * *
Setiap hari sabtu pada jam 23:45 (11:45 PM) 45 23 * * 6
Setiap hari minggu pada jam 04:05 (4:05 AM) 5 4 * * SUN
Setiap jam 18.00 (06.00 PM) 0 18 * * *

Ada sebuah website yang sering saya gunakan untuk menentukan format cron job dengan mudah. Kamu bisa kunjungi mencoba menggunakannya untuk membuat waktu cron job yang kamu inginkan.

Crontab Guru From Cronitor

Bagaimana Menerapkan Cron Job Pada Program kita?

Oke, dari tadi kita hanya membahas pengertian dan format cron job saja ya. Lalu bagaimana cara menerapkannya pada program yang kita buat? Sebenarnya caranya sangat gampang sekali. Setiap bahasa pemrograman biasanya memiliki package atau library tersendiri untuk menerapkan cron job. Sebagai contoh, jika kita menggunakan Javascript dan Node JS, kita bisa menggunakan sebuah package yang bernama Node Cron.

Berikut ini contoh kodenya:

const cron = require("node-cron");

cron.schedule("* * * * *", () => {
  console.log("Pesan ini tampil setiap menit");
});

Untuk dokumentasi lengkap, kamu bisa langsung membacanya di sini ya.

Jika kita menggunakan Laravel, kita juga bisa menggunakan scheduler milik laravel yang sudah disediakan. Dokumentasinya bisa kamu baca di sini.

Jangan khawatir! Apapun bahasa pemrograman favorit kamu, kemungkinan besar sudah memiliki fitur untuk membuat cron job. Hehe.

Tags: #cron-job
Bagikan:

Ingin Berdiskusi?

Yuk bergabung di Grup Telegram Ruang Developer atau mulai diskusi melalui GitHub. See You!

comments powered by Disqus

Berlangganan Gratis

Kamu akan menerima email update dari Ruang Developer

Beri Dukungan

Beri dukungan, dapatkan full source code project web untuk bahan referensi, tiru, dan modifikasi.

Lightbox