Version compatibility
This documentation relates to Quartz version 4.0 and later.
- Lesson 1: Using Quartz
- Lesson 2: Jobs And Triggers
- Lesson 3: More About Jobs & JobDetails
- Lesson 4: Job Data
- Lesson 5: More About Triggers
- Lesson 6: Querying Jobs and Triggers
- Lesson 7: SimpleTriggers
- Lesson 8: CronTriggers
- Lesson 9: RecurrenceTrigger (RRULE)
- Lesson 10: Time and TimeProvider
- Lesson 11: TriggerListeners & JobListeners
- Lesson 12: SchedulerListeners
- Lesson 13: Job Execution Middleware
- Lesson 14: JobStores
- Lesson 15: Configuration, Resource Usage and Building a Scheduler
- Lesson 16: Building a Scheduler Without a Host
- Lesson 17: Clustering
- Lesson 18: Execution Groups
- Lesson 19: Node Affinity (Preferred Node)
- Lesson 20: Testing
The cron expression syntax the CronTriggers lesson builds on has its own page: Cron Expression Reference.
Four things a scheduler in production usually wants are recipes rather than lessons, and live in the How To's:
- Retrying Failed Jobs — a trigger re-fires its job after a failure
- Rescheduling Jobs — changing a schedule, and resetting a trigger stuck in
Error - Running a Job Once — work that happens at a time and is then finished with
- Embedding Quartz in a Library — for a package that schedules on its consumer's behalf
Several of these lessons have a runnable counterpart in the repository's console tour — dotnet run --project src/Quartz.Examples — where simple triggers, cron triggers, job data, misfires, listeners, calendars and clustering each happen in a console while you watch. Three fuller programs sit beside it: Quartz.Examples.Worker, a worker service with a persistent store; Quartz.Examples.AspNetCore, which adds health checks, the HTTP API and the dashboard; and Quartz.Examples.HttpClient, which drives that API from another process.
