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),且无需单独的许可证。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目