Spring Boot 4 Complete Guide · Урок

Планирование задач с помощью @Scheduled

Запускайте фоновые задачи через фиксированные интервалы или по расписаниям cron, используя встроенную поддержку планирования задач Spring.

Урок 4 из 413 шагов

«Планирование задач с помощью @Scheduled» — бесплатный урок Spring Boot 4 Complete Guide на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Spring Boot 4 Complete Guide, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Spring Boot 4 Complete Guide содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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.

Можно начать бесплатно

Изучай Java с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
21
Уроки
84

Часто задаваемые вопросы

Урок «Планирование задач с помощью @Scheduled» бесплатный?

Да — полный текст урока «Планирование задач с помощью @Scheduled» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Spring Boot 4 Complete Guide, подпишись на CoddyKit PRO. Курс Spring Boot 4 Complete Guide содержит 4 уроков всего.

Чему я научусь в уроке «Планирование задач с помощью @Scheduled»?

Запускайте фоновые задачи через фиксированные интервалы или по расписаниям cron, используя встроенную поддержку планирования задач Spring. Ты практикуешь Spring Boot 4 Complete Guide с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Spring Boot 4 Complete Guide?

Предыдущий опыт не требуется. Spring Boot 4 Complete Guide на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Планирование задач с помощью @Scheduled»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Spring Boot 4 Complete Guide?

Да. Каждый урок Spring Boot 4 Complete Guide включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Асинхронные методы с @Async
  2. Введение в очереди сообщений
  3. Интеграция RabbitMQ и Kafka
  4. Планирование задач с помощью @Scheduled
← Назад к Spring Boot 4 Complete Guide