Foundation

Background Jobs & Cron

Run work outside the request — sending batches, processing uploads, calling slow AI APIs, nightly cleanups — with retries when it fails.

Ask your AI about this, with this page as the source:ChatGPT ↗Claude ↗Perplexity ↗

The real choice

Hosted job platform or a queue you run. Hosted platforms work on serverless hosting and give you retries, schedules and a dashboard, at the cost of a vendor in your critical path; a queue library is free and fully yours, but needs a long-running worker process and Redis or Postgres to hold the jobs. A durable workflow engine sits between: you run the workers, it keeps each workflow's state so long processes resume after failures.

Pick by situation

Tap the ones that are you — the tools that fit light up below.
  • You deploy to serverless hosting and have tasks that run for minutesTrigger.dev
  • One user action kicks off several steps with waits between themInngest
  • A process runs for days or months and must pick up where it left off after a crashTemporal
  • You only need a scheduled call or a delayed HTTP request on serverlessUpstash
  • You already run a Node server and want a free queue next to it, on Redis or PostgresBullMQ

The contenders

Grouped by the side of the choice they answer, not ranked. Open a row for when to use it, the trade-off and what makers say.

ToolBest for
Hosted job platform2
Trigger.devservice · open source · free tierLong-running TypeScript tasks — AI calls, media processing — that would time out in a serverless function.23+5 open source$0Free935.5k/wk3.5× vs npm

Use it whenA task like video processing or a long AI call keeps hitting your serverless function's timeout.

Trade-offYour job code is deployed to and runs on Trigger.dev's infrastructure unless you self-host it.

llms.txt

Used by Amy by Jellyfish, Bolto, Clawcast, Contrive, CopyCopter and 18 more · in 5 open-source projects.

CopyCopter uses Trigger.dev as a background job manager, making the code cleaner, more scalable and more fun to play with! Trigger.dev is a must-have for NextJS Serverless App.s
CopyCopter, the makerSep 2026 ↗
Inngestservice · open source · free tierEvent-driven, multi-step workflows where each step retries on its own and your code stays in your existing app.16+11 open source$99Pro1.6M/wk+125% vs npm

Use it whenOne user action fans out into several steps with waits and sleeps in between.

Trade-offPricing scales with executions and steps, so chatty workflows cost more.

llms.txtCLIIn Lovable

Used by Cloudglue, FirstQuadrant, Move AI, North, Productlane and 11 more · in 11 open-source projects.

We also hosted our own Redis-based queue before managing events infra became a job in itself. Inngest has top tier local dev DX and helps our background jobs scale infinitely.
FirstQuadrant, the makerSep 2026 ↗
Durable workflow engine1
Temporalplatform · open source · free tierLong-running, multi-step workflows — payments, onboarding, AI agent loops — whose state must survive crashes and deploys, in Go, Java, Python, TypeScript and more.29+15 open source$5.50Developer (pay as you go)3.7M/wk+64% vs npm

Use it whenA process spans minutes to months and a failed step must resume where it left off, not restart.

Trade-offYou run worker processes, plus the Temporal server or Temporal Cloud billed per action; workflow code must be deterministic.

llms.txt

Used by Atlas, Breyta.ai, Central, Finyuus, Flexprice and 24 more · in 15 open-source projects.

It powers our multi-step workflows across agent actions. Temporal gives us durability, visibility, and precise control. Battle-tested orchestration with strong developer UX.
RunLLM, the makerSep 2026 ↗
Serverless queue1
Upstashplatform · free tierSimple scheduled calls and delayed HTTP jobs on serverless or edge hosting, via QStash.2$1.00Pay as you go4.4M/wk+104% vs npm

Use it whenYou need a cron trigger or a delayed call on serverless hosting and nothing more.

Trade-offA message is an HTTP call to your endpoint, so the endpoint's time limit still applies to the work.

llms.txtIn v0

Used by inbox-zero, Dub.

We use Upstash for caching and queues – it's been incredibly reliable for us since day one!
Dub, the makerSep 2026 ↗
Self-run queue1
BullMQlibrary · open source · free tierNode apps on a long-running server that already have Redis — free and fully in your control.1+60 open source—7.5M/wk+47% vs npm

Use it whenYou have a server and Redis already running and don't want a new vendor.

Trade-offYou run the worker processes and Redis yourself, and there is no hosted dashboard by default.

llms.txt

Used by Postiz · in 60 open-source projects.

This is the bread and butter of Postiz, this is how we schedule all the posts.
Postiz, the makerSep 2026 ↗

Cost: the cheapest plan that fits job runs or steps 100k runs, job compute time 20 hours, from list prices. Try your own numbers →

Cost as you grow

Each contender's cheapest usable plan as usage rises.

$0$20$100$200$50010501005001k5k10k
UpstashTemporalInngestTrigger.devx: job runs or steps per month (thousand runs), other usage scaled with it · cheapest usable plan at each point, list prices · try your own numbers

Who switches to what

Public pull requests on GitHub since Oct 2024 whose title says "X to Y" — real code changes, by developers in general rather than makers only. Pick a flow to see its pull requests.

Before you choose

How to approach it

Anything that takes more than a few seconds or calls a flaky third-party API belongs in a job, not in the request handler. Make every job safe to run twice, because retries will run it twice. If you deploy to serverless functions, pick a hosted option; if you already run a server and Redis, a library queue is enough.

Common mistakes
  • Firing off a promise without awaiting it in a serverless function; the function is frozen after the response and the work silently never finishes.
  • Putting whole objects in the job payload instead of IDs, so the job acts on stale data by the time it runs.
  • Running scheduled jobs with no alert on failure, so a nightly cleanup can be broken for weeks before anyone notices.

Other options

Real choices most makers here won't need to weigh.

Decided alongside

What the 59 makers' products here chose for their other decisions.