If you've ever needed to manually trigger a @Scheduled method in production without redeploying or adding one-off
endpoints, this might be useful.
The problem
I kept running into the same situation: a scheduled job needs to run right now — data sync is behind, a report needs
regenerating, whatever. The options were never great:
Add a temporary REST endpoint, deploy, trigger, remove, redeploy
SSH into the server and fiddle with the database
Just wait for the next scheduled run
What I built
cronctl-spring-boot-starter — add the dependency, and every @Scheduled method in your application gets automatically
registered and exposed via REST:
GET /api/cronctl/tasks → list all registered tasks with their schedule config
POST /api/cronctl/execute/{id} → manually trigger a task, get execution result
Autoconfiguration handles everything.…