← Questions

Design a task queue that splits large jobs into subtasks

0
NotionSystem designLast asked Nov 2025

You already have a durable scheduler for small independent jobs. Some jobs are much bigger: they run from seconds to hours and can fan out into up to 100,000 subtasks. Extend the scheduler to handle them.

Cover:

  • how a parent job is split into bounded subtasks, and how the split adapts to skewed input and slow stragglers;
  • scheduling, so one huge job can't starve the short ones;
  • progress tracking and one final result per parent, built only from subtasks that actually committed;
  • retries, worker crashes and cancellation without counting any work twice.
Your canvas
Draw your answer hereBoxes, arrows and notes, saved for you to come back to.Sign in to start drawing