Single-process n8n does everything in one Node.js process: editor, webhooks, executions. It works until a heavy Code node holds the event loop hostage and the whole instance stutters. Queue mode splits the world — main (UI, API), webhook processors (receive and enqueue), workers (consume and execute) — coordinated through Redis-backed queues. Add workers, multiply throughput. The architecture is correct by design; it just introduces its own quiet failure surface exactly where the single-process version was loud.
Trap 1 — WEBHOOK_URL and the split listener
The editor shows you a workflow's webhook, but traffic lands on the webhook processors. A mispointed WEBHOOK_URL gives callers a URL reaching the main process — or nothing. Deactivate your intuition: verify by curling the production URL from outside after every infra change.
Trap 2 — Registration drift after restarts
A webhook registration is owned by the specific processor process that created it. Deploy, restart, or scale down a replica and routes can keep pointing at dead listeners. Workflows stay Active in the UI while URLs answer 404 — the incident clock starts at deploy, but the client finds it at day three.
Trap 3 — Zero healthy workers, beautiful dashboard
Redis under memory pressure evicts queue state; workers losing the broker stop consuming; crashed workers never rejoin without supervision. The editor looks healthy on top of a queue filling with executions that say "queued" forever. Count living workers, not living processes.
Trap 4 — Orphaned executions
Crash a worker mid-execution and the job returns to the queue unprocessed — "waiting" forever, real customers behind it. Queued-execution-age is one SQL query plus one alert away; running without it is choosing to find out via customer email.
The honest tax list
None of this argues against queue mode — the traps are knowable, payable, manageable. The structural slice (activation state, environment-local URLs, open webhooks) travels inside your exported JSON, which is where the free n8n workflow audit reads it before deploy: browser-only, nothing uploaded. Scale without traps isn't free — it's priced in knowing where the quiet parts are.
Top comments (0)