3 个仓库
Job orchestrators that utilize PostgreSQL for persistence, transactional enqueuing, and state management.
Distinct from PostgreSQL Adapters: This is an identity for the whole system as a queue, not just a database adapter or migration tool.
Explore 3 awesome GitHub repositories matching data & databases · PostgreSQL Task Queues. Refine with filters or upvote what's useful.
River 是一个用于 Go 语言的事务性作业队列和分布式作业调度器,使用 PostgreSQL 进行持久化和状态管理。它作为一个可恢复的任务框架,允许将长时间运行的后台工作分解为持久化的步骤,并在失败后从最后保存的检查点恢复。 该系统通过允许后台任务与主应用数据在同一数据库事务中入队和完成,确保了严格的数据一致性。其独特之处在于采用领导者选举的协调器模型,以管理跨工作节点集群的周期性和延迟任务。 该平台涵盖了广泛的功能,包括异步任务处理、带有指数退避(exponential backoff)的重试策略配置,以及通过命名队列实现的工作负载隔离。它还提供通过 Web 管理界面进行监控的工具、执行遥测,以及用于注入日志记录等横切关注点的中间件系统。 数据库模式迁移可以通过命令行界面或直接通过代码进行管理。
Uses PostgreSQL as the primary engine for job persistence, transactional enqueuing, and state management.
PGMQ 是一个轻量级消息队列系统,作为 PostgreSQL 扩展实现,用于管理异步任务。它充当数据库支持的消息代理,利用 PostgreSQL 进行持久化存储、原子操作和基于通知的投递。 该系统提供了一个兼容 SQS 的队列模型,具有可见性超时和延迟投递功能。它通过组键支持严格的先进先出(FIFO)排序,并支持批量检索,以确保相关任务的顺序处理。 该项目涵盖了完整的消息生命周期,包括生产、通过原子弹出操作进行消费,以及队列清理和生命周期控制等管理功能。它包括通过基于主题的模式进行路由的能力,以及死信队列、消息归档和重试逻辑等可靠性功能。此外还提供了监控工具来跟踪队列长度和吞吐量等操作指标。
Provides a lightweight message queuing system implemented as a PostgreSQL extension to manage asynchronous tasks.
Queue Classic 是一个用于 Ruby 应用程序的后台处理框架,通过利用关系数据库表进行作业持久化来管理异步任务。通过将任务直接存储在数据库中,该系统确保作业创建与应用程序事务保持耦合,保证仅在关联数据变更成功提交时才对任务进行排队。 该框架通过数据库级别的锁定机制协调并发工作进程,这防止了冗余执行,并允许在无需外部消息代理的情况下进行分布式任务处理。工作进程通过轮询数据库获取待处理作业,支持基于未来时间戳的立即执行和延迟调度。 该系统提供了一种将耗时操作从主应用程序线程卸载到独立工作进程的机制。它支持自定义处理程序配置,允许开发者为后台任务定义特定逻辑,同时通过底层关系存储保持一致性。
Manages asynchronous tasks by leveraging PostgreSQL tables for reliable persistence and transactional queuing.