Design a Job Scheduler

Advanced · 24 min read · Low-Level Design, Case Studies: Advanced

Time-ordered queue, a dispatcher that sleeps until due, fixed rate vs delay, retries and cancellation.

This is an Advanced lesson, part of Premium. What it covers:

  • What the interviewer expects
  • 1. Requirements
  • 2. Design
  • 3. The dispatcher: sleep until the next job, wake early when needed
  • 4. Running, rescheduling and retrying
  • 5. Cancellation without searching the heap
  • 6. Concurrency summary
  • 7. Patterns used
  • 8. Extensions
  • Interview questions
  • Further reading

Previous: Design a Pub-Sub Message Broker · Next: Design a Notification Service