Memahami Dekorator @scheduled(cron = "0 0 2 * *") dalam Spring Boot
Dekorator @scheduled(cron = "0 0 2 * *")
adalah fitur powerful dalam Spring Boot yang memungkinkan Anda untuk menjadwalkan eksekusi method secara periodik menggunakan cron expression. Cron expression adalah string yang menentukan pola waktu untuk menjalankan tugas.
Apa itu Cron Expression?
Cron expression adalah bahasa khusus yang digunakan untuk mendefinisikan jadwal berulang. Expression terdiri dari enam field yang dipisahkan oleh spasi:
- Detik (0-59)
- Menit (0-59)
- Jam (0-23)
- Hari dalam Bulan (1-31)
- Bulan (1-12)
- Hari dalam Minggu (0-7) (0 atau 7 adalah Minggu)
*Menafsirkan Cron Expression "0 0 2 * "
- **0 0 2 * ***: Ini berarti tugas akan dijalankan setiap hari pada pukul 02:00 (jam 2 pagi).
Cara Menggunakan Dekorator @scheduled
-
Tambahkan Dependensi: Pastikan Anda memiliki dependensi Spring Boot yang tepat untuk scheduler:
org.springframework.boot spring-boot-starter-web -
Dekorasi Method: Dekorasi method yang ingin Anda jadwalkan dengan
@Scheduled
. Tentukan cron expression dalam atributcron
:@SpringBootApplication public class MyApplication { @Scheduled(cron = "0 0 2 * *") public void myScheduledTask() { // Kode yang ingin Anda jalankan pada pukul 2 pagi System.out.println("Task dijalankan pada pukul 2 pagi!"); } public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
Contoh Penggunaan:
- Backup Data: Anda dapat menjadwalkan task untuk melakukan backup data harian pada pukul 2 pagi.
- Kirim Email: Anda dapat menjadwalkan tugas untuk mengirim email berkala kepada pengguna pada pukul 2 pagi.
- Pembersihan Data: Anda dapat menjadwalkan task untuk membersihkan data yang sudah usang pada pukul 2 pagi.
Catatan:
- Untuk mempelajari lebih lanjut tentang cron expression, Anda dapat menggunakan alat online seperti .
- Anda dapat menggunakan
@EnableScheduling
di kelas utama aplikasi Anda untuk mengaktifkan scheduler.
Dengan menggunakan @scheduled(cron = "0 0 2 * *")
dan cron expression, Anda dapat dengan mudah menjadwalkan tugas rutin dalam aplikasi Spring Boot. Ini memberikan kontrol yang lebih besar atas proses otomatis dalam aplikasi Anda.