Skip to content
Go back

Designing a Distributed Job Scheduler

Published:  at  10:00 AM

1. Problem

We need a multi-tenant scheduler for data pipelines, billing tasks, notifications, and maintenance jobs. A user can define a cron schedule, request a one-off run, or compose tasks into a directed acyclic graph (DAG). The scheduler determines when a run is due and coordinates dispatch to worker fleets. It does not execute the business logic itself.

Functional requirements:

Non-functional requirements:

The users are platform teams and service owners. They need a durable record of the intended run, each dispatch, the attempt that executed, and the reason a run was skipped or delayed.

2. Scale Estimation

Assume 2,000 tenants and 10,000 active schedules. This is a deliberately moderate starting point: it creates meaningful operational pressure while keeping the primary database useful as the authority for scheduler state. Assume each tenant averages 25 API actions per day, including schedule edits, run queries, and manual triggers.


Share this post on:

Previous Post
Designing a Reliable Transaction Explainer with LLM and RAG
Next Post
Designing a Durable Multi-Channel Notification System