Komplett guide til Spring Boot 4 · leksjon

Planlegg oppgaver med @Scheduled

Kjør bakgrunnsjobber med faste intervaller eller cron-planer ved hjelp av Springs innebygde støtte for oppgaveplanlegging.

Leksjon 4 av 413 trinn

Planlegg oppgaver med @Scheduled er en gratis leksjon i Komplett guide til Spring Boot 4 på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Komplett guide til Spring Boot 4, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.

Hvorfor planlagte oppgaver?

Mange applikasjoner trenger at arbeid utføres med jevne mellomrom: rydde opp i data, sende sammendrag eller oppdatere cacher. Spring tilbyr planlegging uten et eksternt rammeverk for jobber.

Aktivere planlegging

Legg til @EnableScheduling i en konfigurasjonsklasse for å aktivere Spring sin scheduler.

@EnableScheduling
@Configuration
public class SchedulingConfig {
}

Kjøring med fast intervall

Alternativet fixedRate kjører en metode hvert N. millisekund, målt fra starten av hver kjøring.

@Scheduled(fixedRate = 5000)
public void poll() {
    System.out.println("Polling");
}

Kjøring med fast forsinkelse

fixedDelay venter N millisekunder etter at forrige kjøring er ferdig. Dermed unngås overlapp når en oppgave tar litt tid.

@Scheduled(fixedDelay = 5000)
public void process() {
}

Intervall kontra forsinkelse

Bruk fixedRate for en jevn takt, og fixedDelay når hver kjøring må fullføres før den neste starter. Feil valg kan føre til overlappende kjøringer.

Cron-uttrykk

Bruk cron for tidsstyring basert på kalenderen. Uttrykket har seks felt: sekund, minutt, time, dag, måned og ukedag.

@Scheduled(cron = "0 0 2 * * *")
public void nightlyJob() {
}

Lese cron-uttrykket over

0 0 2 * * * betyr sekund 0, minutt 0, time 2, hver dag, hver måned og hvilken som helst ukedag – altså kl. 02 hver dag.

Innledende forsinkelse

Attributtet initialDelay utsetter den første kjøringen. Det er nyttig for å la appen varme opp før bakgrunnsarbeidet starter.

@Scheduled(fixedRate = 5000, initialDelay = 10000)
public void start() {
}

Unngå å blokkere scheduleren

Som standard kjører én enkelt tråd alle planlagte oppgaver. En langvarig oppgave kan forsinke andre, så konfigurer et trådpool eller kombiner planlegging med @Async for tungt arbeid.

Planlegging i klynger

Hvis du kjører flere instanser, vil hver instans kjøre den samme planen. Bruk en distribuert lås, for eksempel ShedLock, for å sikre at en jobb kjører én gang på tvers av klyngen.

Eksternalisere planen

Legg cron-uttrykket i egenskaper, slik at du kan endre tidspunktet per miljø uten å kompilere på nytt.

@Scheduled(cron = "${cleanup.cron}")
public void cleanup() {
}

Hurtigsjekk

Test forståelsen din av planlagte oppgaver.

Oppsummering

Du aktiverte planlegging og brukte fixedRate, fixedDelay, cron-uttrykk og innledende forsinkelser. Du lærte også å eksternalisere planer og koordinere jobber trygt på tvers av en klynge.

Gratis å komme i gang

Lær deg Java med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
21
Leksjoner
84

Ofte stilte spørsmål

Er leksjonen «Planlegg oppgaver med @Scheduled» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Komplett guide til Spring Boot 4, inkludert «Planlegg oppgaver med @Scheduled», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.

Hva lærer jeg i «Planlegg oppgaver med @Scheduled»?

Kjør bakgrunnsjobber med faste intervaller eller cron-planer ved hjelp av Springs innebygde støtte for oppgaveplanlegging. Du øver på Komplett guide til Spring Boot 4 med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Komplett guide til Spring Boot 4?

Ingen tidligere erfaring er nødvendig. Komplett guide til Spring Boot 4 på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Planlegg oppgaver med @Scheduled»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Komplett guide til Spring Boot 4-leksjonen?

Ja. Alle Komplett guide til Spring Boot 4-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Asynkrone metoder med @Async
  2. Introduksjon til meldingskøer
  3. Integrasjon av RabbitMQ/Kafka
  4. Planlegg oppgaver med @Scheduled
← Tilbake til Komplett guide til Spring Boot 4