Background Jobs & Queues
Background job and workflow platforms compared — event-driven functions, queues, and durable workflows for async work.
alternatives (4)
★ Inngest
Best for: Event-driven serverless jobs
Event-driven background jobs and workflows — define functions triggered by events, with retries, sleeps, and step functions built in.
- +Great DX
- +Step functions
- +No queue infra to run
- −Vendor-hosted model
Trigger.dev
Best for: TypeScript background tasks
Background jobs for full-stack TypeScript — long-running tasks, retries, and a local dev environment that mirrors production.
- +TS-first
- +Local dev parity
- +Long-running tasks
- −Younger ecosystem
BullMQ
Best for: Self-hosted Redis queues
Redis-backed job queue for Node.js — producers, workers, delayed jobs, rate limits, and priority queues you self-host.
- +Battle-tested
- +Full queue control
- +Open source
- −You run Redis + workers
Temporal
Best for: Durable enterprise workflows
Durable workflow engine — long-running, fault-tolerant workflows with guaranteed execution across failures and restarts.
- +Strong guarantees
- +Long-running workflows
- +Multi-language
- −Heavier ops
- −Steeper learning curve
Compare
Tick the ones you want to compare
| Alternative | Model | Serverless | DX | Best for |
|---|---|---|---|---|
| ★Inngest | Event-driven | Yes | Excellent | Serverless workflows |
| Trigger.dev | Task runner | Yes | Excellent | TS full-stack apps |
| BullMQ | Redis queue | No | Good | Self-hosted queues |
| Temporal | Workflow engine | Partial | Moderate | Mission-critical workflows |
Pick by how much infrastructure you want to run. Inngest and Trigger.dev are the modern serverless picks for TypeScript apps — events, retries, and steps without managing Redis. BullMQ is the self-hosted classic when you already run Redis and want full queue control. Temporal is for durable, long-running workflows where guaranteed completion matters more than simplicity.