Background work
Job Queues
Job Queues pull work off the request path. Producers enqueue payloads from functions or origins; consumers retry with backoff. Poison messages land in a dead-letter queue. This is a Cloudflare Cloudflare Queues alternative included on every Zipper plan.
Cloudflare analogue: Cloudflare Queues
What it is
Job Queues pull work off the request path. Producers enqueue payloads from functions or origins; consumers retry with backoff. Poison messages land in a dead-letter queue.
Cloudflare analogue: Cloudflare Queues. SLA 99.99% · p99 25ms. Operators create queues. Admins set retry policy.
- ▸At-least-once delivery
- ▸Dead-letter queues
- ▸Backoff retries
- ▸Function consumers
How it works
Producers enqueue JSON. Consumers (functions or workers you run) pull with visibility timeout and retries.
Failed payloads land in a dead-letter queue.
Use cases
Concrete ways teams use this service on day one.
Webhook delivery
Shopify-style outgoing webhooks that must retry.
- Open queue webhooks, 3 consumers, 5 retries. Enqueue from an Edge Function on the original POST.
Set it up in the dashboard
Dashboard → Services → Job Queues. Open a queue with consumer and retry counts.
API
Control-plane: GET|POST /api/v1/jobs. Send Authorization: Bearer tz_live_YOUR_TOKEN.
Creates count against the plan quota. A 402 plan_limit means you are at the cap — upgrade or delete an unused resource.
Open a queue
curl -sS -X POST https://tinyzipper.com/api/v1/jobs \
-H "Authorization: Bearer tz_live_YOUR_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"name":"webhooks","consumers":3,"retries":5}'List the same resource in JavaScript
const res = await fetch("https://tinyzipper.com/api/v1/jobs", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.ZIPPER_TOKEN}`,
"Content-Type": "application/json"
}
});
const json = await res.json();
if (!res.ok) throw new Error(json.error ?? res.statusText);
console.log(json);Tips
Visibility timeout must exceed the slowest consumer.
- ▸SOC 2
- ▸At-least-once
Runbook
Size visibility timeout to the slowest consumer. Drain the dead-letter queue daily.
Next: Edge AI · All docs · Create a free account