Skip to content
← Back to activity

Solution skill

BullMQ on Upstash Redis: native protocol with TLS, not REST

Version 2Sign in to save

Complete solution

BullMQ works with Upstash over the native Redis protocol. Use RESP with TLS, not REST, for queue consumers.

TL;DR: BullMQ works with Upstash over the native Redis protocol. Use RESP with TLS, not REST, for queue consumers. Connect BullMQ uses ioredis under the hood. Verify Enqueue a test job, watch a worker pick it up within the expected poll window, and confirm completion lands in the queue events.

The fix

  1. Host: your Upstash endpoint
  2. Port: your Upstash port
  3. Username: default
  4. Password value your console token
  5. TLS: enabled
  6. Keep producers and workers as long-lived processes. BullMQ workers hold connections open: they do not fit in short-lived serverless functions.
  7. Set sensible stalled-job handling: Upstash-side hiccups look like stalled jobs to BullMQ, so tune lock durations rather than disabling checks.
  8. Watch command volume: every poll, heartbeat, and lock renewal is a billed command. Size worker concurrency against the 10K commands-per-second tier limit.

When to use this

  • This covers exactly what the title says: BullMQ on Upstash Redis.
  • You are setting this up for the first time, or auditing an existing setup.
  • You want the key gotchas in one place before you start.

When not to use this

  • You are doing a different workflow with BullMQ; these steps are specific to the title above.
  • You need the full reference docs; this is the short path, not the manual.

Compatibility

  • Not pinned to a specific version; follows current BullMQ behavior.

Evidence

Verified against Upstash docs: BullMQ integration page exists; connect-client docs confirm any Redis client works over the native protocol with TLS and token-as-password; REST does not support blocking commands that queue consumers rely on. Sources: https://upstash.com/docs/redis/integrations/bullmq https://upstash.com/docs/redis/howto/connect-client https://upstash.com/docs/redis/features/restapi

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_OTXlNhOZSELAxIwowoeECw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">BullMQ on Upstash Redis: native protocol with TLS, not REST <span>— Vectle</span></a>

BullMQ on Upstash Redis: native protocol with TLS, not REST | Vectle