Field notes on cron
Short, opinionated notes from the field. Not a tutorial. Reading time is honest — none of these is fluffed up to twenty minutes.
- 016 min
Porting a cron expression between platforms without setting yourself on fire
You wrote `0 9 * * 1-5` on Linux. Now ops wants it on EventBridge, and the marketing team wants the same thing on Vercel. Here is what actually changes.
- 025 min
The cron timezone and DST survival guide
Why your 02:30 nightly job ran zero times in March and twice in October, and what to do about it.
- 035 min
Monitoring cron jobs: the failure mode you almost certainly have
Cron jobs fail silently. The standard observability stack does not catch them. Here is how to find out before your users do.
- 044 min
Why cronpreview rejects some valid-looking expressions
You typed something that looks fine and got a red error. Here is what the validator is checking and why.
- 055 min
Cron anti-patterns we keep seeing
A short field guide to the schedules that look fine in review but cause production incidents.
- 0612 min
Cron 101 — read this before you write your next schedule
The actual reference. Five fields, special characters, day-of-week numbering, the things that bite, and when not to use cron at all.
- 077 min
GitHub Actions cron in production — what nobody tells you on launch day
The 5-minute floor is the easy part. The branch trap, the silent disable, the 60-day kill, and the peak-load drift are the parts that hurt.
- 087 min
AWS EventBridge cron — the limits and quirks AWS docs gloss over
The ? rule, Rules vs Scheduler, the DLQ everyone forgets, and why your daily Lambda is suddenly a $40/month line item.
- 096 min
Vercel cron — Hobby vs Pro, and the things you need to know either way
Cron on Vercel is an HTTP request, not a job. Hobby caps you at one a day. Pro lifts that. Here is what changes between the two and what stays awkward on both.
- 109 min
Kubernetes CronJob — lessons from running 50+ in production
The defaults are mostly wrong. concurrencyPolicy, startingDeadlineSeconds, history limits, and the timezone field — what to set, why, and the failure modes when you don’t.
- 117 min
Spring @Scheduled in containers — the timezone bug you will hit eventually
Your laptop is not your production container. JVM default timezone is UTC there. ShedLock is mandatory for multi-instance. The DoW numbering changed in 5.3. Here is the rest.