Serverless
Cron for serverless and edge functions
Schedule HTTP calls to your Vercel, Netlify, Lambda, or Cloudflare functions — without cloud lock-in.
The problem
Serverless is great until you need something to run on a schedule. Each platform has its own half-baked cron: Vercel and Netlify cron are tied to deploys, Lambda needs EventBridge wiring, and none of them retry sensibly or tell you when a run fails. Worse, your scheduling is now locked to whichever cloud you happen to be on.
How SteadyCron solves it
- 1 Create an HTTP job pointing at your function's URL, with the method, headers, and body it expects.
- 2 Pick a schedule and timezone. SteadyCron calls the endpoint on time, with correct DST handling.
- 3 Configure retries with backoff and a timeout, so a transient cold-start or 502 doesn't drop the run.
- 4 Every invocation is logged with status code, response body, and duration — and you're alerted on failure.
# SteadyCron calls your function on schedule:
POST https://my-app.vercel.app/api/cron/rebuild-search-index
Authorization: Bearer ${SEARCH_CRON_TOKEN}
Jobs
| weekly-digest-email | HTTP | 0 9 * * 1 | in 2 days | 3 days ago | ||
| nightly-db-backup | Heartbeat | 0 2 * * * | in 19 h | 5 h ago | ||
| stripe-reconciliation | HTTP | 0 */4 * * * | in 38 min | 3 h ago | ||
| cache-warmup | HTTP | */15 * * * * | in 11 min | now | ||
| search-index-sync | Heartbeat | */30 * * * * | in 6 min | 24 min ago |
| seed-test-data | HTTP | 0 4 * * * | in 14 h | 10 h ago | ||
| preview-env-cleanup | Heartbeat | 0 */6 * * * | in 2 h | 4 h ago | ||
| trial-expiry-sweep | HTTP | 0 6 * * * | — | yesterday |
Every job's status, schedule, and last run — at a glance.
Portable by design
Because SteadyCron just calls an HTTPS endpoint, your schedule isn’t tied to a single vendor. Move your function from Vercel to Cloudflare to your own server and the job keeps firing — only the URL changes.
A real audit trail
Platform cron logs are thin and ephemeral. SteadyCron keeps a per-run record of the status code, response, and timing, so “did the 3am reindex run, and what did it return?” has an answer.
Related documentation
Stop finding out the hard way
Start on the free tier — no credit card required.
Start free