Scheduler 05: Dispatch Queue

From the Distributed Scheduler series, sitting under the project lesson Build Your Own Distributed Scheduler - From Scratch. Follows Scheduler 04: Leader Election, which narrowed a fleet of schedulers down to exactly one allowed to decide, and hands off to Scheduler 06: Idempotency and Fencing.
Before you start. This lesson is part of a series that builds a small copy of a job scheduler: a program that runs other programs at the exact right time, the way a nightly backup needs to happen without a person watching a clock. The last lesson gave the series exactly one decider: several copies of the scheduler compete for a time-limited claim called a lease, and only the current holder may decide what’s due right now. This lesson asks what that decider should do once it has decided something - and why the answer isn’t “run it yourself.”