For an open source tool for removing backgrounds, the strongest matches are timgit/pg-boss (pg-boss is a background task scheduler and distributed job), hangfireio/hangfire (Hangfire is a full-featured background job scheduler and distributed) and optimalbits/bull (Bull is a Node). jamesmh/coravel and rq/rq round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best open-source background removal tools. Compare top-rated GitHub repositories by activity and features to find the best fit for your project.
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 on PostgreSQL, providing a full-featured job processing system with a cron scheduler, retry management, and a web dashboard for monitoring and control — covering nearly everything this search asks for.
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 full-featured background job scheduler and distributed task queue for .NET that covers every required feature — job queues, scheduled tasks, retries, persistent state in a database, concurrency control, a built-in monitoring dashboard, and worker management — making it precisely the tool this search is after.
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 Node.js library that provides a full-featured job queue and scheduler on top of Redis, handling persistence, retries, concurrency, and monitoring—exactly the kind of background job processing tool you're looking for.
Coravel is a .NET application framework library providing a set of tools for task scheduling, background job queuing, event broadcasting, caching, and email delivery. It enables developers to implement recurring background jobs using Cron expressions and a fluent code-based syntax, removing the need for external system schedulers. The library features a mail delivery system that uses mailable classes to compose, preview, and queue emails through various delivery drivers. It includes an event broadcaster to decouple application components by triggering events and managing multiple listeners, a
Coravel is a .NET library that provides scheduled tasks via Cron expressions, background job queuing, persistence, concurrency control, and monitoring, fitting the search for a background job processing tool with retry and worker management.
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, Redis-backed task queue and background worker system for Python that provides a job queue, scheduling, automatic retries, persistence, concurrency control, monitoring tools, and worker management — directly matching the need for asynchronous background job processing.
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
Inngest is a durable execution framework and event-driven automation engine that directly handles background job processing with features like automatic retry, state persistence, and concurrency management, making it a comprehensive fit for orchestrating asynchronous tasks in web applications.
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 asynchronous workflow engine for Go that supports job queues, scheduled tasks, retries, persistence, concurrency control, and multiple backends, though it lacks a built-in monitoring dashboard.
.. image:: https://media.charlesleifer.com/blog/photos/huey3-logo.png
Huey is a Python task-queue library that handles job persistence, scheduled tasks, retries, concurrency, and multiple backends (Redis, SQLite, in-memory), covering most of the required features for background job processing; it lacks a built-in monitoring dashboard but is squarely the kind of tool this search is after.
Dramatiq is a distributed task queue and workload manager used to offload function execution to background workers. It functions as an asynchronous task orchestrator that enables the distribution of computational tasks across a cluster using a pluggable transport layer supporting RabbitMQ and Redis. The framework provides specialized tools for complex task orchestration, including the ability to link background jobs into sequences, pipelines, and barriers. It further manages distributed concurrency through the use of shared mutexes, rate limiters, and exponential backoff retries to prevent re
Dramatiq is a distributed task queue and workload manager for Python that handles background job execution, retries, concurrency control, and multiple backends (RabbitMQ, Redis), making it a genuine fit for background job processing—its monitoring dashboard and built-in scheduler are available as separate extensions rather than included by default.
Solid Queue is a background job processing system for Ruby on Rails applications that utilizes a relational database as its primary storage backend. By integrating directly with the framework's native job interface, it ensures that task queues and execution states are persisted within the database, providing reliability and recoverability across system failures. The system distinguishes itself by embedding worker processes directly into the web server environment, which simplifies deployment and consolidates monitoring within existing infrastructure. It coordinates distributed worker processe
Solid Queue is a database-backed background job backend for Rails that handles job queuing, persistence, retries, concurrency, and worker management — fitting the core need of managing asynchronous tasks even though it lacks a built-in monitoring dashboard and multiple backends.
Node-worker-farm is a framework for distributing intensive computational tasks across a managed pool of background processes. By offloading heavy operations to independent child processes, it enables concurrent execution and prevents the main event loop from becoming blocked, allowing applications to maximize CPU utilization across available processor cores. The library distinguishes itself through a proxy-based interface that maps local function calls directly to exported methods within remote worker modules. This abstraction simplifies the distribution of work by treating background tasks a
Worker Farm is a simple library for distributing processing tasks to child processes with built-in durability and concurrency control, making it a valid but narrow background job processing tool that lacks scheduling and monitoring features.
Conductor is a durable workflow engine designed to orchestrate complex, long-running business processes and autonomous agent loops. It functions as a stateful execution platform that persists the entire history of a process, ensuring that workflows remain reliable and recoverable across infrastructure failures, system restarts, and transient network errors. By managing task lifecycles, worker polling, and state transitions, it provides a centralized coordination layer for distributed systems. The platform distinguishes itself through its specialized support for AI agent orchestration, allowin
Conductor is a durable workflow and task orchestration engine that manages asynchronous task execution with retries, persistence, and scheduling, which aligns with the core needs of background job processing in distributed systems.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| timgit/pg-boss | 3.2K | TypeScript | mit | |
| hangfireio/hangfire | 10K | C# | other | |
| optimalbits/bull | 16.2K | JavaScript | NOASSERTION | |
| jamesmh/coravel | 4.3K | C# | MIT | |
| rq/rq | 10.7K | Python | NOASSERTION | |
| inngest/inngest | 5.5K | Go | NOASSERTION | |
| richardknop/machinery | 8K | Go | MPL-2.0 | |
| coleifer/huey | 5.9K | Python | mit | |
| bogdanp/dramatiq | 5.1K | Python | lgpl-3.0 | |
| rails/solid_queue | 2.4K | Ruby | MIT |