A RESTful asynchronous task queue server that provides a consistent HTTP API for various storage backends.
Ratus is a RESTful asynchronous task queue server that provides a consistent HTTP API for scheduling and executing background tasks. It translates distributed task queue concepts into RESTful resources, supporting multiple storage backends while guaranteeing at-least-once task execution with automatic recovery mechanisms.
Developers building distributed systems that require reliable background job processing, particularly those working in polyglot environments who need a language-agnostic task queue solution.
Ratus offers a RESTful approach to task queues that works across programming languages without dedicated client libraries, provides multiple storage engine options with consistent APIs, and includes built-in observability features for production deployments.
Ratus is a RESTful asynchronous task queue server. It translated concepts of distributed task queues into a set of resources that conform to REST principles and provides a consistent HTTP API for various backends.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers embedded MemDB for development and external MongoDB for production, with a consistent REST API that avoids client-side code changes when switching backends.
Automatically resets uncommitted tasks to pending state after timeouts, ensuring tasks are retried and never silently lost, crucial for reliable background processing.
Provides a full HTTP interface with built-in Swagger UI, enabling task queue integration from any programming language without dedicated client libraries.
Exposes Prometheus metrics for request duration, task counts, and delays, plus Kubernetes-ready liveness/readiness probes for seamless production monitoring.
Load balances across dynamic consumers and supports MongoDB replication and partitioning, allowing scalability through multiple instances behind load balancers.
Marked as beta, indicating potential breaking changes, incomplete features like missing Redis support, and higher risk for mission-critical deployments.
MemDB engine relies on snapshots, not append-only logs, so crashes can lose recent data; the README explicitly warns against using it for durability-critical workflows.
Requires setting MONGODB_DISABLE_ATOMIC_POLL=true to avoid WriteConflict errors in logs, adding operational complexity and potentially affecting performance.
Due to millisecond-level clock resolution in both storage engines, the order tasks are delivered to consumers isn't strictly guaranteed, which can impact deterministic workflows.
Ratus is an open-source alternative to the following products: