Cloud Run job delay up to 12 hours: schedule Sume bulk runs
Cloud Run now lets a job start up to 12 hours late (Preview). When that beats a scheduler for Sume bulk runs, and what to keep out of a delayed container.

Use a delayed Cloud Run job when you want a one-off batch of Sume work to start later, such as an overnight render of up to 100 Format items, without standing up a scheduler. Google's Cloud Run release notes for September 8, 2026 describe job execution delay of up to 12 hours, marked Preview. For a repeating schedule, use Sume Actions or a scheduler instead.
What is new and what is not
Cloud Run also reached GA on September 29 for scaling controls with a custom target CPU or concurrency, which matters for services, not jobs.
| Item | Date | Status |
|---|---|---|
| Job execution delay up to 12 hours | Sep 8, 2026 | Preview |
| Scaling controls, custom target CPU or concurrency | Sep 29, 2026 | GA |
Shape of the job
Keep the container small. It reads a work list, calls POST /v1/formats/{handle}/{slug}/bulk-runs with a stable Idempotency-Key, stores the queue id, and exits. Bulk runs accept up to 100 items and a concurrency value, return 202, and are read at GET /v1/format-run-queues/{id}.
The queue does the waiting, not your container. That is what makes a delayed job cheap: it runs for seconds, then Sume works through the items within your plan's concurrency.
Rules that avoid double spend
A replayed key on bulk runs returns the old queue. That is your protection if Cloud Run retries the job task. Build the key from the work list identity, not a timestamp.
- Do not poll for hours from the job; collect results with webhooks.
- The queue has no webhook of its own; each item can carry one, as
format.run.terminal. - Terminal run webhooks carry
statusOK or ERROR, anoutcomeof ok, degraded or error, and a receiptpayload. - Canceled and skipped runs deliver no webhook, so reconcile against the queue read.
A note on Preview
Preview features can change. Treat the delay setting as a convenience and keep a fallback: if the delay is withdrawn, the same job can be started by Cloud Scheduler. Because the Sume side is idempotent, switching the trigger does not change the work.
Sources
Related posts
More in Developers
- Cloud Scheduler retries and a static Idempotency-Key: the replay trap
A fixed Idempotency-Key header on a Cloud Scheduler POST replays the first Sume run forever. Derive the key per tick, or use Sume Actions for schedules.
- Cloud Tasks batch create is GA: one Sume idempotency key per task
Cloud Tasks batch create went GA on Sep 30, 2026. Give every task its own Sume Idempotency-Key so a batch retry never doubles a paid generation.
- Cloudflare Worker roles: let an agent deploy a Sume webhook receiver
Cloudflare's four Worker roles let an agent token deploy a Sume webhook receiver without delete rights. Which role to give it and what Sume still needs.
- Cloudflare Queues limits vs Sume queue_full 429: who retries?
Cloudflare Queues allows 100 retries and 24h delaySeconds. Sume answers 429 queue_full or rate_limited. How to back off in a consumer without duplicate jobs.
Written by Sume