Halo Bakat Digital! Selamat datang kembali di blog Sandi Dharma. Gimana kabarnya hari ini? Lagi 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, Bagus 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, Eksis 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 Kalau sistem Pandai melakukannya secara Mekanis sehingga Tak perlu menunggu perintah manual.
Cron job hadir Demi mengatasi ketidakefisienan tersebut. Dengan cron job, kita Pandai Membangun suatu aplikasi atau sistem dapat menjalankan pekerjaan rutin tanpa harus diberi perintah dari pengguna.
Lampau apa itu cron job?
Cron job adalah sebuah command atau perintah yang digunakan Demi menjadwalkan suatu pekerjaan di waktu yang akan datang, Bagus 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 Ketika sebuah job akan dijalankan.
Dapat kita lihat pada gambar di atas, setiap field digunakan Demi menunjjukan waktu mulai dari menit, jam, Lepas, bulan, dan hari.
Berikut ini tabel ketentuan nilai yang valid Demi digunakan pada field unix-cron:
Field | Nilai yang valid |
---|---|
Min (menit) | 0-59 |
Hour (jam) | 0-23 |
Day of the month (Lepas) | 1-31 |
Month (bulan) | 1-12 atau JAN-DEC |
Day of week (hari) | 0-6 atau SUN-SAT, atau 7 Demi minggu |
Watak Spesial
Tiap field Tak hanya Pandai diisi dengan nilai seperti pada ketentuan di tabel sebelumnya. Tetapi juga Pandai diisi dengan beberapa Watak spesial.
- Field Pandai diisi dengan asterisk Watak (
*
) - Dua Nomor yang dipisahkan dengan Watak hyphen (
-
) dianggap sebagai rentang waktu. - Nomor yang diikuti dengan
/NUMBER
akan dianggap sebagai Jarak waktu. Misalnya*/2
yang tuliskan pada field hour berarti akan dijalankan tiap 2 jam. - Beberapa Nomor yang dituliskan dan dipisahkan dengan koma (
,
). Misalnya1,3
pada field day of the month berarti akan dijalankan tiap hari pertama dan hari ketiga setiap bulan.
Misalnya Penjadawalan Menggunakan Cron Job
Sepertinya agak membingungkan ya bagaimana Langkah Membangun jadwal cron job. Nah, berikut ini beberapa Misalnya jadwal Kalau 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 * * * |
Eksis sebuah website yang sering saya gunakan Demi menentukan format cron job dengan mudah. Engkau Pandai kunjungi mencoba menggunakannya Demi Membangun waktu cron job yang Engkau inginkan.
Bagaimana Menerapkan Cron Job Pada Program kita?
Oke, dari tadi kita hanya membahas pengertian dan format cron job saja ya. Lampau bagaimana Langkah menerapkannya pada program yang kita buat? Sebenarnya caranya sangat gampang sekali. Setiap bahasa pemrograman biasanya Mempunyai package atau library tersendiri Demi menerapkan cron job. Sebagai Misalnya, Kalau kita menggunakan Javascript dan Node JS, kita Pandai menggunakan sebuah package yang bernama Node Cron.
Berikut ini Misalnya kodenya:
const cron = require("node-cron");
cron.schedule("* * * * *", () => {
console.log("Pesan ini tampil setiap menit");
});
Demi dokumentasi lengkap, Engkau Pandai langsung membacanya di sini ya.
Kalau kita menggunakan Laravel, kita juga Pandai menggunakan scheduler Punya laravel yang sudah disediakan. Dokumentasinya Pandai Engkau baca di sini.
Jangan khawatir! Apapun bahasa pemrograman favorit Engkau, kemungkinan besar sudah Mempunyai fitur Demi Membangun cron job. Hehe.