EB

egeominotti/bunqueue

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

590 stars 17 forks Качество 87 Тренд 41MIT

⚡ Высокопроизводительная очередь заданий для Bun. SQLite по умолчанию, мультиброкер PostgreSQL при масштабировании. DLQ, cron, резервные копии SQLite S3 и нативный MCP. Нет Redis.

Обзор

Высокапроизводительная очередь заданий для Bun. Память или SQLite с одним файлом; мультиброкер PostgreSQL 15–18 при масштабировании. DLQ, cron, резервные копии SQLite S3 и нативный MCP. Создано для AI-агентов и автоматизации. Нет Redis. Документация · Быстрый старт · Бенчмарки · npm Вот и всё. Очередь + Worker в одном объекте, сохраняется в одном файле SQLite. Нет Redis, нет конфигурации, нет настройки. MSGPACKR — единственная зависимость во время выполнения; cron, SQLite, S3, HTTP и WebSocket используют встроенные системы Bun. Очередь также работает как автономный сервер. Память — это нулевая конфигурация по умолчанию; SQLite — это опция с нулевым уровнем инфраструктуры: Для нескольких активных брокеров репозиторий включает топологию, закреплённую на PostgreSQL 18.6: Он запускает два брокера против одной базы данных/пространства имён. PostgreSQL работает только на сервере; встроенный режим продолжает использовать память/SQLite. При изменении пароля предоставляется оба значения Compose при изменении пароля, при этом в URL кодируются только зарезервированные символы в процентах. MySQL не поддерживается.

Обзор (машинный перевод)

Высокапроизводительная очередь заданий для Bun. Память или однофайлный SQLite; PostgreSQL 15–18 мультиброкер при масштабировании.
DLQ, cron, резервные копии SQLite S3 и нативный MCP. Создано для AI-агентов и автоматизации. Нет Redis.

Документация · Быстрый старт · Видеокурс · Бенчмарки · NPM


Быстрый старт

Ваша первая работа примерно через минуту. В Bun очередь идёт внутри вашего приложения, без Для начала сервера:

Вот и всё: нет Redis, нет конфигурации, нет настройки. Работник всё время ждёт новых вакансий пока не остановишь его Ctrl+C. В примере задания сохраняются в памяти; pass dataPath: './jobs.db' в очередь и к работнику, чтобы сохранить их в одном SQLite. msgpackr — единственная зависимость во время выполнения; cron, SQLite, S3, HTTP и WebSocket использует встроенные устройства Bun.

Не на Bun? Запускай сервер, подключайся откуда угодно

Запускайте сервер с Docker (Bun не нужен) или, если установлен Bun, с bunx bunqueue start --host 127.0.0.1 --data-path ./bunqueue.db:

Затем в другом терминале добавьте задание и обработайте её из Node.js:

Deno, Python, PHP, Go, Rust и Elixir делают те же три шага: см. Быстрый старт для каждого языка.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

High-performance job queue for Bun. Memory or one-file SQLite; PostgreSQL 15–18 multi-broker when you scale. DLQ, cron, SQLite S3 backups, and native MCP. Built for AI agents and automation. No Redis.

Documentation · Quick Start · Video course · Benchmarks · npm


Quickstart

Your first job in about a minute. On Bun the queue runs inside your app, with no server to start:

bun add bunqueue
// jobs.ts
import { Queue, Worker } from 'bunqueue/client';

const queue = new Queue('emails', { embedded: true });

const worker = new Worker(
  'emails',
  async (job) => {
    console.log('Processing:', job.data.to);
    return { sent: true };
  },
  { embedded: true }
);

worker.on('error', (error) => console.error(error));
await queue.add('welcome', { to: '[email protected]' });
bun jobs.ts
# Processing: [email protected]

That’s it: no Redis, no config, no setup. The worker keeps waiting for more jobs until you stop it with Ctrl+C. The example keeps jobs in memory; pass dataPath: './jobs.db' to the queue and the worker to persist them in one SQLite file. msgpackr is the only runtime dependency; cron, SQLite, S3, HTTP and WebSocket use Bun’s built-ins.

Not on Bun? Run the server, connect from anywhere

Start the server with Docker (no Bun needed) or, if Bun is installed, with bunx bunqueue start --host 127.0.0.1 --data-path ./bunqueue.db:

docker run -d --name bunqueue \
  --restart unless-stopped \
  -p 127.0.0.1:6789:6789 \
  -p 127.0.0.1:6790:6790 \
  -v bunqueue-data:/app/data \
  egeominotti/bunqueue:alpine

curl --fail http://127.0.0.1:6790/health
Открыть полный README на GitHub

Установка

docker run -d --name bunqueue \
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

// Claude Desktop / Cursor / Windsurf { "mcpServers": { "bunqueue": { "command": "bunx", "args": ["--package=bunqueue", "bunqueue-mcp"], "env": { "BUNQUEUE_MCP_PROFILE": "agent" } } } }