type: runbook
status: active
timestamp: 2026-06-22
tags: [runbook, hosting, free-tier, queues, pubsub, cloudflare-queues, upstash-qstash, inngest]

Free hosting — queues + pub-sub (CF Queues, Upstash QStash, Inngest, Trigger.dev, Pusher)

Queues + pub-sub free tiers: CF, QStash, Inngest

Queues + pub-sub — free tiers (2026-06-22)

Until Feb 4 2026, Cloudflare Queues required the Workers Paid plan. Now it’s in the Workers Free tier with a 10K ops/day cap — the biggest 2026 unlock in this category.

The table

#ProviderFree tierCard@signupCard to use freeKYCVerdict
1Cloudflare Queues10,000 ops/day on Workers Free (GA in free 2026-02-04), 24-hour retentionNONONOKEEP
2Upstash QStash1,000 messages/day, 10 active schedules, 50 GB bandwidth, 1 MB msg, retries freeNONONOKEEP
3Inngest50,000 executions/mo, 100K events, 5 concurrent steps, 50 realtime conns, 24h tracesNONONOKEEP
4Trigger.dev~10,000 runs/mo, limited concurrency, 14-day history, 1 prod env. Apache 2.0 self-host = unlimitedNONONOKEEP
5Pusher Channels Sandbox200,000 messages/day, 100 concurrent connectionsNONONOKEEP

How the family uses queues

Today: very lightly. Most async work fits one of:

When this is not enough (long-running webhook processing, fan-out work, durable retries):

Quirks per provider

Recommendation for the family

  1. Pub-sub for Worker pipelines: Cloudflare Queues (now free).
  2. HTTP cron / delay / retry: Upstash QStash (10 schedules covers most of what we’d need).
  3. Multi-step durable workflows: Inngest free tier.
  4. Reach for self-host: Trigger.dev on Render Free, only if vendor risk worries us.
  5. Realtime websockets: Pusher Sandbox for one app; Cloudflare Durable Objects for fleet-wide.

Sources


Edit on GitHub · Back to index