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
timgit avatar

timgit/pg-boss

0
View on GitHub↗
3,218 stars·227 forks·TypeScript·mit·33 viewstimgit.github.io/pg-boss↗

Pg Boss

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.

Capabilities cover job lifecycle management with state-machine tracking and exponential backoff retries. The system supports queue storage partitioning for high-volume workloads and provides a command-line interface for managing database schema migrations.

The management interface includes basic authentication for dashboard and API security, with support for custom base path configurations to allow hosting behind reverse proxies.

Features

  • Background Job Queues - Uses PostgreSQL as a reliable message broker to provide a background job queue with exactly-once delivery.
  • Job Queues - Provides a reliable background job queue powered by PostgreSQL for asynchronous task processing.
  • Advisory Locking Mechanisms - Utilizes database-level locking to maintain distributed locks across multiple application instances.
  • Cron Scheduling - Implements a cron job scheduler that uses a relational database to track the state of recurring tasks.
  • Recurring Job Scheduling - Implements a recurring task scheduler using cron expressions to automate periodic jobs.
  • Distributed Job Locking - Implements high-concurrency job fetching using the FOR UPDATE SKIP LOCKED SQL pattern.
  • Distributed Task Queues - Distributes asynchronous tasks across multiple worker instances using a shared relational database.
  • Reliable Task Queues - Ensures reliable job processing with exactly-once delivery guarantees and automated retry logic.
  • Database Job Lifecycle Management - Manages the full lifecycle of jobs, including status transitions and manual retries via the database.
  • Transactional Enqueueing - Allows job creation within a database transaction to ensure atomic updates between state and queue.
  • Task Throughput Rate Limiters - Implements rate limiting and concurrency controls to manage job processing throughput.
  • Cross-Application Event Pub-Sub - Implements fan-out queue relationships that broadcast a single event to multiple subscribers.
  • PubSub Messaging Systems - Implements a pub-sub system using the database to notify multiple subscribers of a single event.
  • Exponential Backoff Retries - Employs an exponential backoff strategy for failed job retries to prevent database overload.
  • Fan-Out Event Distribution - Provides a pub-sub system that distributes a single event across multiple queues for fan-out notification.
  • Management Dashboards - Provides a web interface for monitoring queue statistics and manually retrying or cancelling jobs.
  • Queue Visualizers - Offers a visual interface to display queue statistics and job payloads for state inspection.
  • Pub/Sub Event Distribution - Implements a pub-sub system that distributes a single event across multiple destination queues.
  • Partitioned - Optimizes high-volume workloads by partitioning queues into dedicated physical database tables.
  • Retry State Tracking - Tracks job progress through a set of predefined states to manage retries and failures.
  • Background Job Monitoring - Ships a visual dashboard for tracking the status, health, and failure metrics of background task queues.
  • Queue Administration Interfaces - Provides a web-based administrative interface for monitoring and managing background job queues.
  • Web Dashboards - Provides a centralized web-based dashboard for tracking the state of jobs, queues, and schedules.
  • Job Queues - Node.js job queueing system.

Star history

Star history chart for timgit/pg-bossStar history chart for timgit/pg-boss

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does timgit/pg-boss do?

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.

What are the main features of timgit/pg-boss?

The main features of timgit/pg-boss are: Background Job Queues, Job Queues, Advisory Locking Mechanisms, Cron Scheduling, Recurring Job Scheduling, Distributed Job Locking, Distributed Task Queues, Reliable Task Queues.

What are some open-source alternatives to timgit/pg-boss?

Open-source alternatives to timgit/pg-boss include: sidekiq/sidekiq — Sidekiq is a background job processor and queue manager for Ruby that uses Redis to manage asynchronous tasks. It… oban-bg/oban — Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job… taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… riverqueue/river — River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state… felixmosh/bull-board — Bull-board is a web-based administrative interface and dashboard for visualizing, monitoring, and managing… rq/rq — rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task…

Open-source alternatives to Pg Boss

Similar open-source projects, ranked by how many features they share with Pg Boss.
  • sidekiq/sidekiqsidekiq avatar

    sidekiq/sidekiq

    13,540View on GitHub↗

    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

    Rubybackground-jobsjobsruby
    View on GitHub↗13,540
  • 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

    Elixir
    View on GitHub↗3,812
  • taskforcesh/bullmqtaskforcesh avatar

    taskforcesh/bullmq

    8,432View on GitHub↗

    BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It functions as a distributed queue manager and task scheduler, utilizing Redis to manage asynchronous job processing and persistence. The system distinguishes itself through its role as a job workflow orchestrator, enabling the definition of complex parent-child job dependencies and hierarchies for multi-step workflows. It provides sandboxed process execution to isolate heavy workloads and prevent event loop blocking, alongside distributed rate limiting to protect downstream servic

    TypeScriptbackground-jobselixirnodejs
    View on GitHub↗8,432
  • 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

    Go
    View on GitHub↗5,252
See all 30 alternatives to Pg Boss→