Oban is a relational database-backed job processor and task scheduler for Elixir applications. It functions as a distributed workflow orchestrator that leverages database primitives to ensure job persistence, reliability, and consistent state management across clusters. The system distinguishes itself through complex workflow orchestration, enabling the composition of task dependencies using batching, sequential processing, and fan-out or fan-in patterns. It provides global throughput limiting and uniqueness enforcement to prevent duplicate work and protect downstream resources across distrib
Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer
Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It functions as a distributed task scheduler capable of handling periodic, delayed, and recurring jobs across a cluster of worker processes. The project features a job monitoring dashboard and administrative web interface for visualizing system state, tracking worker performance, and managing failed or dead jobs. It provides a distributed rate limiter to control execution frequency across multiple processes. The framework covers a broad range of operational capabilities, including j
Queue Classic is a background processing framework for Ruby applications that manages asynchronous tasks by utilizing relational database tables for job persistence. By storing tasks directly within the database, the system ensures that job creation remains coupled with application transactions, guaranteeing that tasks are only queued when associated data changes are successfully committed. The framework coordinates concurrent worker processes through database-level locking mechanisms, which prevent redundant execution and allow for distributed task processing without the need for an external
River es una cola de trabajos transaccional y programador de trabajos distribuido para Go que utiliza PostgreSQL para la persistencia y gestión de estado. Funciona como un framework de tareas reanudables, permitiendo que el trabajo en segundo plano de larga duración se divida en pasos persistidos que pueden reanudarse desde el último punto de control guardado después de un fallo.
The main features of riverqueue/river are: Persistent Job Queue Libraries, Transactional Enqueueing, Database-Backed Deferred Queues, Transactional Updates, Database Backend Integration, Job State Persistence, PostgreSQL Task Queues, Asynchronous Task Processing.
Open-source alternatives to riverqueue/river include: sorentwo/oban — Oban is a relational database-backed job processor and task scheduler for Elixir applications. It functions as a… inngest/inngest — Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background… sidekiq/sidekiq — Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It… queueclassic/queue_classic — Queue Classic is a background processing framework for Ruby applications that manages asynchronous tasks by utilizing… mesos/chronos — Chronos is a distributed, fault-tolerant job scheduler designed for managing containerized workloads within a cluster.… timgit/pg-boss — pg-boss is a background task scheduler and distributed task queue that uses PostgreSQL as a reliable message broker…