0Pricing
Spring Boot 4 Complete Guide · Aula

Agendamento de tarefas com @Scheduled

Execute tarefas em segundo plano em intervalos fixos ou programações cron usando o suporte integrado do Spring para agendamento de tarefas.

Agendamento de tarefas com @Scheduled é uma aula grátis de Spring Boot 4 Complete Guide no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Spring Boot 4 Complete Guide, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Spring Boot 4 Complete Guide inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

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.

Perguntas Frequentes

A aula “Agendamento de tarefas com @Scheduled” é grátis?

Sim — o texto completo de “Agendamento de tarefas com @Scheduled” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Spring Boot 4 Complete Guide, atualize para CoddyKit PRO. O curso de Spring Boot 4 Complete Guide inclui 4 aulas no total.

O que vou aprender em “Agendamento de tarefas com @Scheduled”?

Execute tarefas em segundo plano em intervalos fixos ou programações cron usando o suporte integrado do Spring para agendamento de tarefas. Você pratica Spring Boot 4 Complete Guide com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Spring Boot 4 Complete Guide?

Nenhuma experiência prévia é necessária. Spring Boot 4 Complete Guide no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Agendamento de tarefas com @Scheduled”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Spring Boot 4 Complete Guide?

Sim. Cada aula de Spring Boot 4 Complete Guide inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Métodos Assíncronos com @Async
  2. Introdução às Filas de Mensagens
  3. Integração com RabbitMQ/Kafka
  4. Agendamento de tarefas com @Scheduled
← Voltar para Spring Boot 4 Complete Guide