Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,15 @@

![Sidequest.js Logo](./packages/docs/public/logo-full.png "Sidequest.js Logo")

**Sidequest** is a modern, scalable background job processor for Node.js applications. Built with TypeScript and designed for production use, it provides reliable job processing with multiple database backends, a beautiful web dashboard, and comprehensive monitoring capabilities.
**Sidequest** is a Redis-free background job processor for **Node.js**. It persists jobs in the database you already run (PostgreSQL, MySQL, SQLite, or MongoDB), so you get durable, distributed background processing without standing up Redis. It is a production-grade [BullMQ](https://docs.sidequestjs.com/getting-started/migrating-from-bullmq) and pg-boss alternative, with a built-in web dashboard.

### At a glance

- **Runtime:** Node.js (>= 22.6.0). _Does not run on Bun yet._
- **Storage:** PostgreSQL, MySQL, SQLite, or MongoDB. Jobs are **durable and persisted in your database**, not in memory. SQLite is recommended for local development and tests.
- **Distribution:** runs across multiple nodes against one shared database. Jobs are claimed atomically (`SELECT ... FOR UPDATE SKIP LOCKED` on Postgres/MySQL), so each job runs once.
- **Isolation:** the engine runs in a forked child process; jobs execute in worker threads. Inline and no-fork [execution modes](https://docs.sidequestjs.com/production/execution-modes) are also available.
- **Built in:** web dashboard, retries with exponential/fixed backoff, job uniqueness, cron scheduling, and automatic stale-job recovery.

For the complete documentation, visit [docs.sidequestjs.com](https://docs.sidequestjs.com).

Expand Down
25 changes: 25 additions & 0 deletions packages/docs/public/llms.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Sidequest

> Sidequest is a Redis-free background job processor for Node.js. It persists jobs in your existing PostgreSQL, MySQL, SQLite, or MongoDB database and runs them in worker threads, giving you durable, distributed background processing without standing up Redis. It is a production-grade BullMQ and pg-boss alternative.

## Facts

- Runtime: Node.js (>= 22.6.0). Sidequest does not run on Bun yet.
- Storage backends: PostgreSQL, MySQL, SQLite, and MongoDB. Jobs are durable and persisted in the database. Sidequest is not an in-memory queue. SQLite is recommended for local development and tests; Postgres is recommended for production.
- Distribution: runs across multiple nodes and workers against one shared database. Jobs are claimed atomically (SELECT ... FOR UPDATE SKIP LOCKED on Postgres and MySQL), so each job is delivered to exactly one worker.
- Isolation: the engine runs in a forked child process by default, and jobs execute in piscina worker threads. Inline and no-fork execution modes are available for serverless and framework integrations.
- Built in: web dashboard (default port 8678), retries with fixed or exponential backoff, job uniqueness, cron scheduling, and automatic stale-job recovery.
- API: class-based jobs (`class EmailJob extends Job { async run(...args) {} }`) with a fluent builder (`Sidequest.build(EmailJob).maxAttempts(3).enqueue(...args)`).
- License: LGPL-3.0-or-later. Packages: `sidequest` plus the `@sidequest/postgres-backend`, `@sidequest/mysql-backend`, `@sidequest/sqlite-backend`, and `@sidequest/mongo-backend` drivers.

## Docs

- [Why Sidequest](https://docs.sidequestjs.com/introduction/why): positioning and when to use it
- [How It Works](https://docs.sidequestjs.com/introduction/how-it-works): architecture
- [Quick Start](https://docs.sidequestjs.com/quick-start)
- [Migrating from BullMQ](https://docs.sidequestjs.com/getting-started/migrating-from-bullmq)
- [Configuration](https://docs.sidequestjs.com/getting-started/configuration)
- [Backends](https://docs.sidequestjs.com/production/backends)
- [Execution Modes](https://docs.sidequestjs.com/production/execution-modes)
- [API Reference](https://docs.sidequestjs.com/api/sidequest)
- [FAQ](https://docs.sidequestjs.com/faq)
23 changes: 19 additions & 4 deletions packages/sidequest/package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,31 @@
{
"name": "sidequest",
"version": "1.16.0",
"description": "Sidequest is a modern, scalable background job processor for Node.js applications.",
"description": "Redis-free background job processor for Node.js. Persist jobs in your existing PostgreSQL, MySQL, SQLite, or MongoDB, with a built-in dashboard. A distributed, durable BullMQ and pg-boss alternative.",
"keywords": [
"nodejs",
"javascript",
"typescript",
"job-queue",
"queue",
"concurrency",
"background-jobs",
"jobs",
"worker",
"worker-threads",
"distributed",
"background"
"concurrency",
"redis-free",
"no-redis",
"bullmq-alternative",
"pg-boss-alternative",
"postgresql",
"mysql",
"sqlite",
"mongodb",
"sql",
"database-queue",
"dashboard",
"scheduler",
"cron"
],
"homepage": "https://sidequestjs.com/",
"bugs": {
Expand Down
Loading