Vercel Hobby cron runs once a day, up to 59 minutes late

Vercel Hobby cron runs once a day with hourly precision, so a job can start up to 59 minutes late. When to move paid work to a Sume bulk run or Scheduled agent.

5 min readSume
All posts

On the Hobby plan Vercel runs a cron job at most once a day, with hourly precision, so a job set for 09:00 may start any time up to 09:59. That is fine for a digest and a poor fit for a job that needs a fixed minute. Keep the cron as a thin trigger and let Sume own the paid work, the budget and the retries.

What does Vercel's page say?

The cron usage page gives the limits per plan.

Vercel cron limits (read 2026-10-02)
TopicHobbyPro and Enterprise
FrequencyOnce per dayOnce per minute
PrecisionPer hour, up to 59 minutes latePer minute
Jobs per project100100
What runsA Vercel Function, so function limits applyA Vercel Function, so function limits apply

What happens if I write a faster expression on Hobby?

The page says a more frequent expression fails deployment, so you find out at deploy time, not at 3 a.m. Because the cron calls a Vercel Function, the function's time limit also applies. A function that waits on a long render will run into it, so do not wait.

What should the function do instead?

Start work and return. A Sume Format run is asynchronous: you create it, keep the run id, and read the receipt or take the webhook later. For many items, a bulk run takes 1 to 100 items with concurrency from 1 to 16, so one cron call can start a whole batch without holding the function open.

Give the call an Idempotency-Key tied to the day, so a retry after a timeout returns the original instead of spending twice. A bulk replay with the same key and payload returns 202 and the old queue. A different payload under the same key is a 409 idempotency_conflict, with details.queue_id pointing at the queue that already exists.

  • Set generation_spend_cap_usd on each item; the default comes from the Format's cap.
  • Use a webhook per item for completion, because the queue itself has no webhook.
  • Read the queue with GET /v1/format-run-queues/{id} when you want counts.

When is a Sume schedule better than a Vercel cron?

If you need a fixed minute or an IANA timezone, a Sume Scheduled agent has both: a 5-field cron expression plus a timezone. It is created in the dashboard, and its default per-run spend cap is $1.00. Vercel cron is still the better fit when the trigger belongs to your app's own deploy. Details are in the bulk runs reference and the scheduled agents guide.

Sources

Related posts

More in Agents

All Agents posts

Written by Sume