agentlytics
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
Redis-free background jobs for Node.js. Persist jobs in your existing Postgres, MySQL, SQLite, or MongoDB. A distribute…
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 and pg-boss alternative, with a built-in web dashboard.
SELECT ... FOR UPDATE SKIP LOCKED on Postgres/MySQL), so each job runs once.For the complete documentation, visit docs.sidequestjs.com.
For a comprehensive FAQ, visit docs.sidequestjs.com/faq.
To get started with Sidequest, first install the main package:
npm install sidequest # or yarn add sidequest
Make sure you are using Node.js >= 22.6.0. Also, Sidequest does not run with Bun yet.
To keep the application minimal, the main package does not include the backend drivers. Thus you need to install only the driver you will use:
PostgreSQL (recommended)
npm install @sidequest/postgres-backend # or yarn add @sidequest/postgres-backend
npm install @sidequest/mysql-backend # or yarn add @sidequest/mysql-backend
npm install @sidequest/sqlite-backend # or yarn add @sidequest/sqlite-backend
npm install @sidequest/mongo-backend # or yarn add @sidequest/mongo-backend
// jobs/EmailJob.js
import { Job } from "sidequest";
export class EmailJob extends Job {
async run(to, subject, body) {
console.log(`Sending email to ${to}: ${subject}`);
// Your email sending logic here
return { sent: true, timestamp: new Date() };
}
}
// app.js
import { Sidequest } from "sidequest";
// Start Sidequest
await Sidequest.start({
// You can leave the config empty to use the default SQLite backend.
// Make sure to install the SQLite backend driver if you want to use it.
backend: {
driver: "@sidequest/postgres-backend",
config: "postgres://postgres:postgres@localhost:5432",
},
});
console.log("Sidequest started! Dashboard: http://localhost:8678");
// Somewhere in your application
import { Sidequest } from "sidequest";
import { EmailJob } from "./jobs/EmailJob.js";
// Simple job
await Sidequest.build(EmailJob).enqueue("user@example.com", "Welcome!", "Thanks for signing up!");
We welcome contributions! Please see our Contributing Guidelines for details.
This project is licensed under the LGPL-3.0-or-later license.
Made with ❤️ by Lucas Merencia and Giovani Guizzo
more like this
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
an efficient and user friendly OTA server equipped with a powerful WEB UI, designed to effortlessly manage both your ES…
PlexWatch is a Discord bot that provides a real-time dashboard for your Plex media server, featuring active stream moni…
search projects, people, and tags