Skip to content

docs: add Migrating from BullMQ guide#189

Merged
merencia merged 2 commits into
masterfrom
docs/migrating-from-bullmq
Jun 22, 2026
Merged

docs: add Migrating from BullMQ guide#189
merencia merged 2 commits into
masterfrom
docs/migrating-from-bullmq

Conversation

@merencia

Copy link
Copy Markdown
Contributor

What

Adds a technical migration guide: Getting Started → Migrating from BullMQ.

Maps BullMQ/Bull concepts onto Sidequest side by side so users coming from a Redis-based queue can move over without relearning everything:

  • Mental model table (Queue/Worker/Redis connection → Job class + DB backend)
  • Dependency swap, connection → backend config
  • Worker processor → Job class with run(...args)
  • queue.addSidequest.build().enqueue()
  • Full option mapping: attempts/backoff/delay/repeat/jobId(dedup)/concurrency/removeOnComplete
  • Events → dashboard + lifecycle states, flows → chaining
  • Honest "what is genuinely different" section (in-memory schedules, positional args, throughput profile)

Wired into the VitePress sidebar under Getting Started.

Why

Owns the high-intent query class ("migrate from bull", "bullmq alternative no redis") for both search and AI discovery, and lowers switching cost for the exact persona Sidequest targets.

Validation

vitepress build passes, including dead-link check (all internal links resolve).

Comment thread packages/docs/getting-started/migrating-from-bullmq.md Outdated
Comment thread packages/docs/getting-started/migrating-from-bullmq.md Outdated
- use a concrete builder example (.queue(...).enqueue(...)) per review
- note that enqueue args are strongly typed against the job's run params
@merencia merencia merged commit 696971a into master Jun 22, 2026
6 checks passed
@merencia merencia deleted the docs/migrating-from-bullmq branch June 22, 2026 14:33
merencia added a commit that referenced this pull request Jun 22, 2026
…cache

Master CI went red after merging #189/#190/#191 (all individually green,
docs/metadata-only changes). The build job passed, but lint/test/integration
failed with missing build outputs (unresolved types; 'Cannot find module
.../sidequest/dist/index.cjs').

Root cause: the setup action cached build outputs (**/dist) and the downstream
jobs (which do not build) restored them via actions/cache. That cross-job cache
handoff is unreliable: even after the build job saved the cache successfully,
a downstream job starting seconds later got a cache miss (GitHub Actions cache
read-after-write inconsistency, surfacing now that runners were force-migrated
to Node 24). A miss left the job with no dist, so type-aware lint and the tests
broke.

Fix: stop sharing dist across jobs. Cache only dependencies, keyed on the
lockfile (stable, high reuse), and have setup always run 'yarn build' so every
job has a freshly built workspace. Builds are fast via Turbo. Also switches the
deprecated --frozen-lockfile to --immutable.
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.

2 participants