Skip to content

fix(chart): use correct Bull queue key bull:jobs:wait in KEDA examples - #174

Merged
krider2010 merged 2 commits into
mainfrom
krider2010/fix-issue-173
Jul 17, 2026
Merged

fix(chart): use correct Bull queue key bull:jobs:wait in KEDA examples#174
krider2010 merged 2 commits into
mainfrom
krider2010/fix-issue-173

Conversation

@krider2010

@krider2010 krider2010 commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

What

The KEDA autoscaling examples pointed the Redis-list scaler at bull:default:wait, but n8n names its Bull queue jobs, not default. Bull composes keys as <prefix>:<queueName>:<state>, so the waiting-list key is bull:jobs:wait.

As written, LLEN bull:default:wait always returns 0, so queue-depth autoscaling never fires — the ScaledObject silently falls back to whatever other triggers are configured.

Why bull:jobs:wait

From n8n source (n8n-io/n8n):

  • packages/cli/src/scaling/constants.tsexport const QUEUE_NAME = 'jobs';
  • packages/cli/src/scaling/scaling.service.tsnew BullQueue(QUEUE_NAME, { prefix, ... })
  • packages/@n8n/config/src/configs/scaling-mode.config.ts — default prefix bull (docstring @example 'bull:jobs:23')

The prefix is still overridable via QUEUE_BULL_PREFIX. This matches the correct key already used by the #169 ECS Fargate Lambda — this is the chart side of the same key.

Changes

Find/replace bull:default:waitbull:jobs:wait (one occurrence each):

  • charts/n8n/values.yaml
  • charts/n8n/examples/keda-autoscaling.yaml
  • charts/n8n/README.md

helm lint charts/n8n passes.

Fixes #173

🤖 Generated with Claude Code


Summary by cubic

Point the KEDA Redis-list scaler to the correct Bull key bull:jobs:wait so queue-length autoscaling works with n8n’s jobs queue. Clarifies that listName must be <prefix>:jobs:wait (prefix defaults to bull) and must stay in sync with redis.prefix to avoid missed scaling.

Written for commit ce6b743. Summary will update on new commits.

Review in cubic

The KEDA Redis-list scaler examples pointed at bull:default:wait, but
n8n names its Bull queue 'jobs' (QUEUE_NAME = 'jobs'), with default
prefix 'bull'. Bull composes keys as <prefix>:<queueName>:<state>, so
the waiting-list key is bull:jobs:wait. As written, LLEN bull:default:wait
always returns 0, so queue-depth autoscaling never fires and the
ScaledObject silently falls back to any other triggers.

Prefix stays overridable via QUEUE_BULL_PREFIX.

Fixes #173

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 3 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread charts/n8n/values.yaml
The KEDA Redis trigger's listName is passed through to the ScaledObject
verbatim and does not derive from redis.prefix. n8n writes the Bull key
as <prefix>:jobs:wait, so a customized redis.prefix desyncs it from the
default bull:jobs:wait and queue-depth autoscaling stops firing. Document
that the two must be kept in sync (addresses cubic review on #174).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@krider2010
krider2010 merged commit 7610e08 into main Jul 17, 2026
12 checks passed
@krider2010
krider2010 deleted the krider2010/fix-issue-173 branch July 17, 2026 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

KEDA autoscaling example uses wrong Bull queue key (bull:default:wait)

1 participant