The KEDA autoscaling example points the Redis-list scaler at the wrong Bull queue key, so queue-depth autoscaling never actually fires.
We use bull:default:wait in a few places:
charts/n8n/examples/keda-autoscaling.yaml:35
charts/n8n/values.yaml:504
charts/n8n/README.md:226
But n8n names the queue jobs, not default. From n8n source (n8n-io/n8n):
packages/cli/src/scaling/constants.ts — export const QUEUE_NAME = 'jobs';
packages/cli/src/scaling/scaling.service.ts — new BullQueue(QUEUE_NAME, { prefix, ... })
packages/@n8n/config/src/configs/scaling-mode.config.ts — default prefix bull (docstring @example 'bull:jobs:23')
Bull composes keys as <prefix>:<queueName>:<state>, so the correct key is bull:jobs:wait. As written, LLEN bull:default:wait returns a constant 0 and the ScaledObject never scales workers on backlog — it silently falls back to whatever other triggers are configured.
Fix is a straightforward find/replace of bull:default:wait -> bull:jobs:wait across those three files (prefix is still overridable via QUEUE_BULL_PREFIX).
Surfaced while reviewing #169, whose ECS Fargate Lambda uses the correct bull:jobs:wait — this is the chart side of the same key.
The KEDA autoscaling example points the Redis-list scaler at the wrong Bull queue key, so queue-depth autoscaling never actually fires.
We use
bull:default:waitin a few places:charts/n8n/examples/keda-autoscaling.yaml:35charts/n8n/values.yaml:504charts/n8n/README.md:226But n8n names the queue
jobs, notdefault. From n8n source (n8n-io/n8n):packages/cli/src/scaling/constants.ts—export const QUEUE_NAME = 'jobs';packages/cli/src/scaling/scaling.service.ts—new BullQueue(QUEUE_NAME, { prefix, ... })packages/@n8n/config/src/configs/scaling-mode.config.ts— default prefixbull(docstring@example 'bull:jobs:23')Bull composes keys as
<prefix>:<queueName>:<state>, so the correct key isbull:jobs:wait. As written,LLEN bull:default:waitreturns a constant 0 and the ScaledObject never scales workers on backlog — it silently falls back to whatever other triggers are configured.Fix is a straightforward find/replace of
bull:default:wait->bull:jobs:waitacross those three files (prefix is still overridable viaQUEUE_BULL_PREFIX).Surfaced while reviewing #169, whose ECS Fargate Lambda uses the correct
bull:jobs:wait— this is the chart side of the same key.