Reading — step 1 of 5
Read
~1 min readProduction Concerns
Missed Job Handling
What happens when the scheduler is down for an hour and 4 different jobs should have fired during that window?
Two strategies:
Skip (the default for cron): only fire the most recent missed instance, or none at all. Avoids cascade overload after recovery.
Catchup: fire each missed instance in sequence. Used when each instance must run (billing aggregation, log rotation). Bound the catchup window so a year of downtime doesn't trigger a year of jobs.
Kubernetes CronJob exposes this via startingDeadlineSeconds: if a job is
missed by more than this duration, skip it. AWS EventBridge does the same.
Trade-offs:
- Skip is safe but loses work
- Catchup preserves work but can spike load
- Catchup with limit balances both — fire up to N missed instances
Discussion
Ask a question, share an insight, or help someone who’s stuck.
Sign in to post a comment or reply.
Loading…