awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
timgit avatar

timgit/pg-boss

0
View on GitHub↗
3,218 星标·227 分支·TypeScript·mit·15 次浏览timgit.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 历史

timgit/pg-boss 的 Star 历史图表timgit/pg-boss 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

timgit/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.

timgit/pg-boss 的主要功能有哪些?

timgit/pg-boss 的主要功能包括:Background Job Queues, Job Queues, Advisory Locking Mechanisms, Cron Scheduling, Recurring Job Scheduling, Distributed Job Locking, Distributed Task Queues, Reliable Task Queues。

timgit/pg-boss 有哪些开源替代品?

timgit/pg-boss 的开源替代品包括: 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…

Pg Boss 的开源替代方案

相似的开源项目,按与 Pg Boss 的功能重合度排序。
  • sidekiq/sidekiqsidekiq 的头像

    sidekiq/sidekiq

    13,540在 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
    在 GitHub 上查看↗13,540
  • oban-bg/obanoban-bg 的头像

    oban-bg/oban

    3,812在 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
    在 GitHub 上查看↗3,812
  • taskforcesh/bullmqtaskforcesh 的头像

    taskforcesh/bullmq

    8,432在 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
    在 GitHub 上查看↗8,432
  • riverqueue/riverriverqueue 的头像

    riverqueue/river

    5,252在 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
    在 GitHub 上查看↗5,252
查看 Pg Boss 的所有 30 个替代方案→