Agent Skills: Spring Boot Scheduling Standards

Configure scheduled tasks and distributed locking with ShedLock in Spring Boot. Use when implementing @Scheduled tasks or distributed locking with ShedLock in Spring Boot. (triggers: **/*Scheduler.java, **/*Job.java, scheduled, shedlock, cron)

UncategorizedID: hoangnguyen0403/agent-skills-standard/spring-boot-scheduling

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/skills/spring-boot/spring-boot-scheduling

Skill Files

Browse the full folder contents for spring-boot-scheduling.

Download Skill

Loading file tree…

skills/spring-boot/spring-boot-scheduling/SKILL.md

Skill Metadata

Name
spring-boot-scheduling
Description
"Configure scheduled tasks and distributed locking with ShedLock in Spring Boot. Use when implementing @Scheduled tasks or distributed locking with ShedLock in Spring Boot. (triggers: **/*Scheduler.java, **/*Job.java, scheduled, shedlock, cron)"

Spring Boot Scheduling Standards

Priority: P0

Configure Scheduled Tasks

  • ThreadPool: ALWAYS configure a dedicated TaskScheduler (default is 1 thread). Enable with @EnableScheduling annotation.
  • Async: Keep @Scheduled methods light; offload to @Async/Queues. Wrap logic in try/catch; log errors and use @Retryable for retry on transient failures.

Lock Tasks with ShedLock

  • Problem: @Scheduled runs on ALL pods in K8s.
  • Solution: Use ShedLock to guarantee single execution.
  • Config: Set lockAtMostFor (deadlock safety) and lockAtLeastFor (debounce).

See implementation examples for ShedLock distributed task configuration and scheduler pool setup.

Anti-Patterns

  • No Default Pool: Configure dedicated TaskScheduler (default is 1 thread).
  • No duplicates: Use ShedLock for distributed cron in multi-pod deployments.
  • No task state: Design tasks to be idempotent; assume pod can restart.

References