Menjadwalkan Tugas dengan @Scheduled
Jalankan tugas latar belakang pada interval tetap atau jadwal cron menggunakan dukungan penjadwalan tugas bawaan Spring.
Menjadwalkan Tugas dengan @Scheduled adalah pelajaran Spring Boot 4 Complete Guide gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Spring Boot 4 Complete Guide, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Spring Boot 4 Complete Guide mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Why Scheduled Tasks?
Many applications need work to run periodically: cleaning up data, sending digests, refreshing caches. Spring provides scheduling without an external job framework.
Enabling Scheduling
Add @EnableScheduling to a configuration class to activate Spring's scheduler.
@EnableScheduling
@Configuration
public class SchedulingConfig {
}Fixed Rate Execution
The fixedRate option runs a method every N milliseconds, measured from the start of each run.
@Scheduled(fixedRate = 5000)
public void poll() {
System.out.println("Polling");
}Fixed Delay Execution
fixedDelay waits N milliseconds after the previous run finishes, preventing overlap when a task takes a while.
@Scheduled(fixedDelay = 5000)
public void process() {
}Rate vs Delay
Use fixedRate for steady cadence and fixedDelay when each run must fully complete before the next begins. Choosing wrong can cause overlapping executions.
Cron Expressions
For calendar-based timing use cron. The expression has six fields: second, minute, hour, day, month, weekday.
@Scheduled(cron = "0 0 2 * * *")
public void nightlyJob() {
}Reading the Cron Above
0 0 2 * * * means at second 0, minute 0, hour 2, every day, every month, any weekday, that is, 2 AM daily.
Initial Delay
The initialDelay attribute postpones the first execution, useful for letting the app warm up before background work begins.
@Scheduled(fixedRate = 5000, initialDelay = 10000)
public void start() {
}Avoiding Blocking the Scheduler
By default a single thread runs all scheduled tasks. A long task can delay others, so configure a thread pool or pair scheduling with @Async for heavy work.
Scheduling in Clusters
If you run multiple instances, each will fire the same schedule. Use a distributed lock (for example ShedLock) to ensure a job runs once across the cluster.
Externalizing the Schedule
Put the cron expression in properties so you can change timing per environment without recompiling.
@Scheduled(cron = "${cleanup.cron}")
public void cleanup() {
}Quick Check
Test your understanding of scheduled tasks.
Recap
You enabled scheduling and used fixedRate, fixedDelay, cron expressions, and initial delays. You also learned to externalize schedules and to coordinate jobs safely across a cluster.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menjadwalkan Tugas dengan @Scheduled” gratis?
Ya — teks lengkap “Menjadwalkan Tugas dengan @Scheduled” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Spring Boot 4 Complete Guide, upgrade ke CoddyKit PRO. Kursus Spring Boot 4 Complete Guide mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menjadwalkan Tugas dengan @Scheduled”?
Jalankan tugas latar belakang pada interval tetap atau jadwal cron menggunakan dukungan penjadwalan tugas bawaan Spring. Kamu berlatih Spring Boot 4 Complete Guide dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Spring Boot 4 Complete Guide?
Tidak diperlukan pengalaman sebelumnya. Spring Boot 4 Complete Guide di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Menjadwalkan Tugas dengan @Scheduled” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Spring Boot 4 Complete Guide ini?
Ya. Setiap pelajaran Spring Boot 4 Complete Guide menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Metode Asinkron dengan @Async
- Pengenalan Antrean Pesan
- Mengintegrasikan RabbitMQ/Kafka
- Menjadwalkan Tugas dengan @Scheduled