Exercise 3: "No Server You Deploy Yourself," Applied to Time — Possible Solution ==================================================================== WHAT EACH SIBLING COURSE WOULD NEED ------------------------------ Per this chapter's own comparison table: Food Tracker (FastAPI) would need a scheduler library like APScheduler running inside a continuously-alive server process. Food Tracker (Django) would need Celery Beat, django-crontab, or an OS-level cron job - again, something that has to keep running. Food Tracker (React + Express) would need node-cron or a system crontab entry, which likewise requires a persistently-running process to fire at the right time. WHY THIS COURSE DOESN'T NEED THE EQUIVALENT ------------------------------ This course's dailyExpiryCheck uses onSchedule, a Cloud Function invoked directly by Firebase's own infrastructure according to a cron-style schedule. Per the chapter's finding-box, this function exists, compute-wise, only for the seconds it actually executes - there's no server process sitting idle the rest of the day just waiting for 8:00 AM to arrive, the way all three sibling courses would need. WHY THIS WORKS AS AN ANSWER ------------------------------ It correctly names what each of the three sibling courses would specifically need (APScheduler, Celery Beat/django-crontab, node-cron/crontab) to run a daily check, and correctly explains that this course's onSchedule function avoids needing any persistently-running process at all, applying the course's own "no server you deploy yourself" theme to background/scheduled work specifically, not just request-driven code.