Start with how a schedule becomes a run: the scheduler and its tasks, the job queue, and the rule that every scheduled job must be safe to re-run from the start, because a run that fails halfway is not resumed. Then build the job itself: a watermark so each run takes only what changed, keeping it consistent across timezones so it does not reprocess the same records for ever, and a chunk size that keeps each run well inside its interval. Finish with monitoring, the page to read before a job goes live: how a scheduled job can stop, and the heartbeat or health check that tells you.
How a schedule is set on a job is in the unit on what starts a job (Web events and schedules); this unit assumes it.