Diagrammatic

Design a Job Scheduler — System Design Interview Practice

Design a distributed job scheduling system to execute tasks at specified times or intervals. Work through the requirements, architecture trade-offs, and an interactive design review.

Requirements and concepts to consider

  • Schedule jobs for future executionRequirement
  • Support one-time and recurring jobsRequirement
  • Prioritize jobs based on importanceRequirement
  • Retry failed jobs with backoffRequirement
  • Track job status and historyRequirement
  • Support cron-like expressionsRequirement
  • Distribute jobs across workersRequirement
  • Handle millions of jobsRequirement
  • schedulingConcept to explore
  • distributed systemsConcept to explore
  • background jobsConcept to explore
  • cronConcept to explore
Diagrammatic — system design practice and architecture review.