Skip to content

Vercel Schedules replaces Cron Jobs with on-demand scheduling

A public beta lets Vercel apps create, change or cancel one-time and recurring jobs from code, with no redeploy required, while existing Cron Jobs keep working.

Source: Vercel

Vercel launched Schedules in public beta on 5 November, on every plan. It runs tasks on a recurring cadence or at a single point in time, in production, preview or custom environments, and succeeds Cron Jobs, which keep working unchanged.

Static schedules still live in vercel.json and sync when you deploy, targeting a private function, an HTTP path or a Vercel Queue topic:

{
  "schedules": {
    "cleanup": {
      "schedule": "0 * * * *",
      "function": "api/cleanup.ts",
      "timezone": "America/New_York"
    }
  }
}

The new part is dynamic schedules: your running app can create, change or cancel one-time and recurring jobs at runtime through the JS SDK, CLI or API, targeting a Queue topic, with no redeploy. Any schedule, static or dynamic, can be enabled, disabled or run on demand.

Why it matters: if your app needs to schedule its own follow-up work, a reminder, a retry, an agent checking back in later, you no longer need to fake it with a database flag and a wide-open cron sweep. Pro and Enterprise are billed at $5 per million runs and $10 per million creations; Hobby includes 500 creations and 5,000 runs a month.

The caveat: creating a schedule and running it are billed separately, so a pattern that creates and discards many one-off schedules costs more than the run count alone suggests.

Share

More from The Wire

All briefs