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

bensheldon/good_job

0
View on GitHub↗
2,975 stars·243 forks·Ruby·MIT·24 viewsgoodjob-demo.herokuapp.com↗

Good Job

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 services. It employs multithreaded worker execution and database-level advisory locks to coordinate tasks across distributed processes, ensuring unique execution for recurring jobs and efficient resource utilization.

The library provides comprehensive operational controls, including the ability to group related tasks into batches for collective lifecycle tracking and the use of bulk insertion to optimize high-frequency task ingestion. Administrators can manage concurrency limits, allocate dedicated thread pools for specific queues, and monitor system health through an integrated, customizable web-based dashboard.

The project includes a built-in interface for inspecting, pausing, and troubleshooting tasks in real time, alongside configurable history retention for auditing and performance analysis.

Features

  • Background Job Processors - Provides a multithreaded background job backend for Ruby on Rails that uses a relational database for reliable task queuing.
  • Job Queue Persistence - Uses relational database tables as the primary storage engine to ensure transactional integrity and persistence for all queued background tasks.
  • Asynchronous Queue Prioritization - Enables configuration of isolated thread pools and dedicated processes to prioritize specific queues and ensure sufficient processing capacity.
  • Background Job Processing - Processes asynchronous tasks using a persistent database queue and multithreaded architecture to ensure reliable execution.
  • Job Concurrency Controllers - Restricts the number of simultaneous executions for specific tasks to prevent race conditions or resource exhaustion when interacting with external services.
  • Database-Backed Persistence - Leverages relational database transactions to ensure reliable task completion and consistent state management.
  • Ruby on Rails Integrations - Integrates directly with the Active Job framework to handle asynchronous operations within Ruby on Rails applications.
  • Batch Processing Jobs - Allows grouping multiple tasks into a single collection to track collective progress and trigger lifecycle callbacks.
  • Distributed Recurring Task Scheduling - Runs automated operations on a fixed timetable using standard time expressions with unique execution across distributed processes.
  • Task Queue Management - Provides administrative controls to halt execution of specific task types or entire queues temporarily for maintenance purposes.
  • Job Batching - Groups multiple related tasks into a single collection to track collective progress and trigger callbacks upon completion.
  • Background Processing - Integrates worker execution directly into the application server runtime to simplify deployment.
  • Distributed Job Locking - Prevents multiple workers from processing the same job simultaneously using database-level advisory locks.
  • Bulk Enqueueing - Buffers and inserts large volumes of tasks into the database in single operations to optimize performance during high-frequency ingestion.
  • Task Completion Tracking - Monitors the progress of a batch of asynchronous tasks and resolves when all are finished.
  • Worker Pool Models - Runs concurrent background tasks within a single process using a thread pool model to maximize resource utilization.
  • Background Job Monitoring - Provides a web-based dashboard for inspecting, managing, and troubleshooting queued or recurring tasks in real time.
  • Web Dashboard Monitors - Includes a monitoring interface for inspecting, managing, and troubleshooting queued, running, or completed background tasks.

Star history

Star history chart for bensheldon/good_jobStar history chart for bensheldon/good_job

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Projects sharing features with Good Job

These projects share indexed features with Good Job. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • roadrunner-server/roadrunnerroadrunner-server avatar

    roadrunner-server/roadrunner

    8,473View on GitHub↗

    RoadRunner is a high-performance application server and process manager designed to serve PHP applications using a persistent worker model. It eliminates bootload overhead and initialization time by keeping application processes alive between requests, acting as a protocol-agnostic proxy that routes traffic to a pool of supervised workers. The server is built with a plugin-based modular architecture, allowing it to be extended with custom Go plugins and compiled into tailored binaries. It distinguishes itself by providing a unified execution model for a wide array of communication protocols,

    Goapplication-servergolanghacktoberfest
    View on GitHub↗8,473
  • inngest/inngestinngest avatar

    inngest/inngest

    5,499View on GitHub↗

    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

    Go
    View on GitHub↗5,499
  • 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
Compare all 30 related projects→

Frequently asked questions

What does bensheldon/good_job do?

Curated searches featuring Good Job

Hand-picked collections where Good Job appears.
  • Postgres Backed Task Queues
  • Code-First Job Scheduler Libraries

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.

What are the main features of bensheldon/good_job?

The main features of bensheldon/good_job are: Background Job Processors, Job Queue Persistence, Asynchronous Queue Prioritization, Background Job Processing, Job Concurrency Controllers, Database-Backed Persistence, Ruby on Rails Integrations, Batch Processing Jobs.

Which projects share features with bensheldon/good_job?

Projects with overlapping indexed features include: taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… roadrunner-server/roadrunner — RoadRunner is a high-performance application server and process manager designed to serve PHP applications using a… inngest/inngest — Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background… oban-bg/oban — Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job… mperham/sidekiq — Sidekiq is a Ruby background processing framework and asynchronous task runner. It functions as a Redis-backed… rails/solid_queue — Solid Queue is a background job processing system for Ruby on Rails applications that utilizes a relational database…

Data Pipeline Workflow Orchestration Tools