awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Postgres Backed Task Queues

Ranking updated Jun 30, 2026

For a task queue that uses Postgres, the strongest matches are hangfireio/hangfire (Hangfire is a battle-tested), timgit/pg-boss (pg-boss is a background task scheduler and distributed job) and oban-bg/oban (Oban is a full-featured, distributed background job processing system). agenda/agenda and bensheldon/good_job round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Open-source libraries and frameworks for managing background job processing using PostgreSQL as the primary storage.

Postgres Backed Task Queues

Find the best repos with AI.We'll search the best matching repositories with AI.
  • hangfireio/hangfireHangfireIO avatar

    HangfireIO/Hangfire

    10,015View on GitHub↗

    Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job orchestration framework that offloads heavy processing to background workers using a SQL-backed processor to manage job state across multiple servers. The framework distinguishes itself through reliable task scheduling, where job metadata and arguments are persisted in an external database to ensure tasks survive application restarts. It supports advanced orchestration patterns, including the ability to chain dependent tasks so that a child job triggers automatically upon the successful

    Hangfire is a battle-tested .NET background job scheduler and distributed task queue that persists job state in a SQL database (including PostgreSQL), offering scheduled jobs, retry with backoff, worker concurrency, and a built-in monitoring dashboard — exactly the durable Postgres-backed queue system this search targets.

    C#Delayed ExecutionsWorker Pool ModelsCron Scheduling
    View on GitHub↗10,015
  • timgit/pg-bosstimgit avatar

    timgit/pg-boss

    3,218View on GitHub↗

    pg-boss is a background task scheduler and distributed task queue that uses PostgreSQL as a reliable message broker for asynchronous job processing. It provides a system for distributing work across multiple application instances, ensuring exactly-once delivery through atomic database transactions. The project includes a cron job scheduler for automating recurring tasks and a PostgreSQL pub-sub system for fan-out event distribution. It also features a web-based management dashboard for monitoring queue statistics and controlling job lifecycles, including manual retries and cancellations. Cap

    pg-boss is a background task scheduler and distributed job queue built directly on PostgreSQL, with atomic exactly-once delivery, cron-based scheduling, exponential backoff retries, and a built-in web management dashboard — delivering everything you’d expect from a durable Postgres-backed queue system.

    TypeScriptExponential Backoff RetriesCron Scheduling
    View on GitHub↗3,218
  • oban-bg/obanoban-bg avatar

    oban-bg/oban

    3,812View on GitHub↗

    Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job storage and reliable execution across multiple nodes. It serves as a PostgreSQL-backed background worker and job queue, coordinating task execution and concurrency through a relational database to ensure delivery guarantees. The system differentiates itself through a distributed workflow orchestrator capable of managing multi-step processing pipelines, dependent job sequencing, and shared context. It provides advanced orchestration tools including job batching, chunked processi

    Oban is a full-featured, distributed background job processing system that uses PostgreSQL for transactional job storage and reliable execution, offering worker pools, scheduling, retry mechanisms, and administration interfaces—exactly the durable, Postgres-backed job queue this search targets.

    ElixirCron SchedulingJob Schedulers
    View on GitHub↗3,812
  • agenda/agendaagenda avatar

    agenda/agenda

    9,679View on GitHub↗

    Agenda is a persistent background job scheduler and distributed task runner for Node.js applications. It functions as a cron job manager and task queue that ensures background processes survive application restarts by storing job state and metadata in a database. The system coordinates execution across multiple worker instances using distributed locking mechanisms to prevent duplicate processing. It supports flexible scheduling via cron expressions or specific dates and includes a pluggable storage interface for backends such as MongoDB, PostgreSQL, and Redis. The platform provides controls

    Agenda is a distributed job scheduler and task runner for Node.js with pluggable storage—including PostgreSQL—that provides cron scheduling, worker concurrency via locking, and retry policies, which fits the need for a PostgreSQL-backed queue, though it is not solely dedicated to that backend.

    HTMLJob Monitoring ToolsCron SchedulingJob Schedulers
    View on GitHub↗9,679
  • bensheldon/good_jobbensheldon avatar

    bensheldon/good_job

    2,975View on GitHub↗

    Good Job is a background job processor for Ruby on Rails that utilizes a PostgreSQL database as its primary storage engine. By leveraging relational database transactions, it ensures persistent and reliable task execution, integrating directly with the Active Job framework to handle asynchronous operations and recurring job scheduling within existing application environments. The system distinguishes itself through an in-process execution model that allows background workers to run within the same process as the web server, simplifying deployment by removing the need for separate worker servi

    GoodJob is a production-tested PostgreSQL-backed job queue for Ruby on Rails, providing reliable job execution with concurrency control, retries, scheduling, and Postgres-native features like LISTEN/NOTIFY, directly matching the need for a durable Postgres-based queue.

    RubyWorker Pool Models
    View on GitHub↗2,975
  • riverqueue/riverriverqueue avatar

    riverqueue/river

    5,252View on GitHub↗

    River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state management. It functions as a resumable task framework, allowing long-running background work to be broken into persisted steps that can resume from the last saved checkpoint after a failure. The system ensures strict data consistency by allowing background tasks to be enqueued and completed within the same database transaction as the primary application data. It distinguishes itself through a coordinator model that employs leader election to manage periodic and delayed tasks

    River is a Go job queue that stores all state in PostgreSQL and supports transactional enqueuing, scheduled/delayed jobs, and a coordinator model for reliability, fitting the search for a Postgres-backed queue to replace Redis or RabbitMQ.

    GoExponential Backoff RetriesDelayed Executions
    View on GitHub↗5,252
  • tobi/delayed_jobtobi avatar

    tobi/delayed_job

    2,172View on GitHub↗

    Delayed Job is a Ruby library that provides a database-backed system for asynchronous task processing. It enables the offloading of long-running or time-consuming operations to background workers by serializing method calls and their arguments into a relational database, ensuring that tasks persist across application restarts. The system functions as a distributed priority task scheduler, where independent worker processes continuously poll the database for pending jobs. By integrating task creation directly into application database transactions, it guarantees that jobs are only queued when

    DelayedJob is a database-backed asynchronous priority queue that can use PostgreSQL via ActiveRecord, offering delayed jobs, retries, and worker pools—matching the core need for a PostgreSQL-based queue, though it lacks built-in LISTEN/NOTIFY and an admin dashboard.

    RubyBackground Job QueuesAsynchronous Task ProcessingDatabase-Backed Persistence
    View on GitHub↗2,172
  • queueclassic/queue_classicQueueClassic avatar

    QueueClassic/queue_classic

    1,188View on GitHub↗

    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

    queue_classic is a PostgreSQL-backed worker queue for Ruby that supports scheduled jobs, at-least-once delivery, and configurable workers, fitting your search for a reliable Postgres-based queue; it lacks a built-in admin dashboard but covers most other required features.

    RubyDelayed Executions
    View on GitHub↗1,188
  • piscinajs/piscinapiscinajs avatar

    piscinajs/piscina

    5,053View on GitHub↗

    Piscina is a Node.js worker thread pool that runs CPU-intensive JavaScript functions across multiple threads for parallel execution. It manages a dynamic pool of worker threads with configurable size, handling task submission, cancellation, and lifecycle management through a promise-based interface. The pool supports AbortController-based task cancellation, enabling clean termination of submitted or running tasks without disrupting other work. It enforces per-worker memory limits through V8 resource caps and applies backpressure with a configurable maximum queue size that emits a drain event

    Piscina is a Node.js worker thread pool for parallel execution, not a persistent job queue backed by PostgreSQL — it lacks database storage, at-least-once delivery, and delayed job scheduling.

    TypeScriptLocal Worker PoolsTask Execution EnginesWorker Pool Management
    View on GitHub↗5,053
  • rq/rqrq avatar

    rq/rq

    10,653View on GitHub↗

    rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task submission from execution. It functions as a reliable message queue and task scheduler, allowing Python functions or asyncio coroutines to be processed asynchronously across multiple worker processes. The project distinguishes itself through reliable queuing mechanisms that prevent job loss during worker crashes using atomic operations. It provides specialized orchestration capabilities, including the prevention of duplicate jobs, job execution prioritization, and the ability to m

    rq is a reliable task queue and worker system for Python, but it uses Redis—not PostgreSQL—as its backend, so it does not match your requirement for a Postgres-backed queue.

    PythonJob Monitoring ToolsQueue Worker ManagementWorker Pool Management
    View on GitHub↗10,653
  • richardknop/machineryRichardKnop avatar

    RichardKnop/machinery

    7,956View on GitHub↗

    Machinery is a distributed task queue and asynchronous workflow engine. It provides a system for processing heavy workloads outside the main request flow using a network of distributed background workers and a message-based job orchestrator. The project manages complex task lifecycles through sequential chaining, where results are passed between tasks, and parallel coordination, which can trigger callback tasks upon the completion of a group. It supports periodic workflow scheduling for recurring jobs and delayed execution via specific timestamps. The system includes capabilities for result

    Machinery is a distributed task queue and workflow engine, but it relies on RabbitMQ, Redis, or AWS SQS rather than PostgreSQL as its backing store, so it doesn't match the Postgres-specific intent.

    GoWorker-Level Concurrency ControlDelayed ExecutionsJob Schedulers
    View on GitHub↗7,956
  • optimalbits/bullOptimalBits avatar

    OptimalBits/bull

    16,243View on GitHub↗

    Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran

    Bull is a Redis-based job queue library for Node.js, not a PostgreSQL-backed solution, so it doesn't use Postgres as the backend store as this search requires.

    JavaScriptDelayed ExecutionsJob Monitoring ToolsCron Scheduling
    View on GitHub↗16,243
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
hangfireio/hangfire10KC#otherFeb 16, 2026
timgit/pg-boss3.2KTypeScriptmitFeb 19, 2026
oban-bg/oban3.8KElixirapache-2.0Feb 17, 2026
agenda/agenda9.7KHTMLNOASSERTIONJun 19, 2026
bensheldon/good_job3KRubyMITJun 11, 2026
riverqueue/river5.3KGoMPL-2.0Jun 15, 2026
tobi/delayed_job2.2KRubyMITNov 7, 2020
queueclassic/queue_classic1.2KRubyMITMar 22, 2024
piscinajs/piscina5.1KTypeScriptotherFeb 16, 2026
rq/rq10.7KPythonNOASSERTIONJun 22, 2026

Related searches

  • an async task queue for Python background jobs
  • a python library for background task processing
  • a background job scheduler for server tasks
  • a relational database management system for developers
  • a simple message broker for tasks
  • a connection pooler for Postgres
  • a background job processor for Ruby
  • a collection of PostgreSQL extensions for databases