egeominotti/bunqueue
⚡ High-performance job queue for Bun. SQLite by default, PostgreSQL multi-broker when you scale. DLQ, cron, SQLite S3 backups, and native MCP. No Redis.
它解决了什么问题
Bunqueue 是一个高性能的任务队列系统,旨在消除对 Redis 或 MongoDB 等外部基础设施的需求。它提供了一种可靠的方式来管理后台任务、定时任务 (cron) 和复杂的多步工作流,且只需极少的设置,使其特别适合 AI agents 和自动化任务。
工作原理
该系统主要有两种运行模式:
- 嵌入式模式 (Embedded Mode): 队列直接在应用程序进程内运行,使用内存存储或单个 SQLite 文件进行持久化。
- 服务器模式 (Server Mode): 部署一个独立的服务器(通过 Docker 或 Bun),允许多个生产者和工作进程通过 TCP 连接。为了实现扩展,它支持使用 PostgreSQL 15–18 的多代理 (multi-broker) 设置。
它具有与 BullMQ 兼容的 API,并为 TypeScript、Python、PHP、Go、Rust 和 Elixir 提供官方 SDK,允许使用一种语言生成任务,并使用另一种语言进行处理。
适用人群
- 构建 AI agents 的开发者,他们需要调度器和任务管理,而无需管理复杂的基础设施。
- 想要避免 Redis 运维开销的团队。
- 正在创建需要后台处理功能的单进程应用、CLI 或 serverless 函数的开发者。
- 需要具有 Saga 补偿机制和人工介入 (human-in-the-loop) 信号的复杂工作流引擎的架构团队。
亮点
- 默认零基础设施: 通过内存或 SQLite 开箱即用。
- AI 原生: 包含一个带有 73 个工具的原生 Model Context Protocol (MCP) 服务器,允许 AI agents 直接控制队列。
- 多语言支持: 具有六种不同语言的 SDK,采用统一的线缆协议 (wire protocol)。
- 工作流引擎: 内置支持多步编排、Saga 补偿和用于人工介入交互的
.waitFor()。 - 高性能: 在嵌入式模式下,能够每秒处理数十万个任务。
- BullMQ Pro 兼容: 支持任务组、批处理和公平轮询领取 (fair round-robin claims),且无需单独的许可证。
相关
- 项目
- 项目
- 项目
- 项目
- 项目