For worker type configurations, the strongest matches are powerjob/powerjob (PowerJob is an enterprise-grade distributed job scheduling and background), optimalbits/bull (Bull is a robust Node) and agronholm/apscheduler (APScheduler is a Python task scheduler offering persistent job). bee-queue/bee-queue and agenda/agenda round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked task worker configurations for GitHub. Compare the top setup options, ranked by activity and stars, to find the best fit.
Enterprise job scheduling middleware with distributed computing ability.
PowerJob is an enterprise-grade distributed job scheduling and background processing framework that offers built-in task retries, a web-based dashboard, a persistence layer, and polyglot execution support.
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 robust Node.js job and message queue library backed by Redis that handles distributed tasks, scheduling, and crash recovery, though it is tied to JavaScript rather than being fully language-agnostic.
APScheduler is a Python task scheduler designed to execute functions at specific times or recurring intervals. It functions as an asynchronous background scheduler and distributed job dispatcher, allowing tasks to run concurrently with application lifecycles and web server request handling. The system distinguishes itself through a persistent job store that saves schedules and task states in external databases, ensuring continuity across process restarts. It separates task scheduling from execution by dispatching jobs to distributed workers in separate processes to prevent execution bottlenec
APScheduler is a Python task scheduler offering persistent job stores, asynchronous execution, and distributed worker dispatching, though its language-agnostic support is limited since it is built specifically for Python.
Bee-queue is a Node.js background processing system that uses Redis for job queueing and persistence. It is designed to offload heavy tasks from the main execution thread to background workers to maintain application responsiveness. The project provides distributed job processing, allowing worker nodes to run across multiple processes to handle large volumes of tasks concurrently. It ensures reliable task execution through automatic retries and the recovery of stalled processes. Its capability surface covers asynchronous task scheduling for delayed jobs, concurrency control for worker nodes,
Bee-queue is a Node.js-based background processing system backed by Redis that offers distributed task queues, retry logic, and job scheduling, though it is tailored specifically for the JavaScript ecosystem rather than being language-agnostic.
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 persistent background job scheduler and distributed task runner for Node.js, making it a strong tool for task queues though limited to the Node.js ecosystem rather than being fully language-agnostic.
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 .NET task scheduling and distributed background job framework featuring persistence, retries, and a monitoring dashboard, though it is scoped specifically to the .NET ecosystem rather than being language-agnostic.
Ofelia is a recurring job scheduler designed to run commands inside Docker containers or directly on the host system using a defined timetable. It functions as a configuration engine that reads job schedules and commands from container labels, a concurrency guard to prevent overlapping task executions, and a log router for reporting job outcomes. The system distinguishes itself by using a label-based configuration model, allowing job schedules and execution logic to be defined within container metadata rather than external configuration files. It employs a lock-based concurrency control mecha
Ofelia is a cron-based job scheduler that manages recurring container and host tasks through metadata labels, fitting the scheduling aspect of the search while lacking a broader task queue and persistence backend.
Temporal is a distributed workflow orchestration engine designed to manage fault-tolerant, stateful, and long-running background processes. It functions as a platform for coordinating complex cross-service operations, ensuring consistency and reliability in distributed environments by decoupling workflow orchestration from task execution. The platform distinguishes itself through a deterministic, event-sourced execution model that reconstructs workflow state by re-executing code from an immutable event log. This approach isolates non-deterministic side effects into managed activities, allowin
Temporal is a distributed workflow orchestration engine that handles background processing, task execution, retries, and monitoring, making it a robust configuration and management system for asynchronous jobs.
.. image:: https://media.charlesleifer.com/blog/photos/huey3-logo.png
Huey is a Python-based task queue and background job management system supporting retries and persistence, though it is tied to Python rather than being fully language-agnostic.
Celery is an asynchronous job processor and distributed task queue designed to offload time-consuming operations to background worker nodes. By utilizing a message-passing architecture, it decouples task producers from consumers, allowing applications to maintain responsiveness while scaling workloads across multiple isolated environments. The system functions as a distributed workload orchestrator that manages the lifecycle of deferred operations through persistent queues. It distinguishes itself by providing a pluggable transport abstraction, which allows the core task logic to remain indep
Celery is a distributed asynchronous task queue and job processor featuring built-in scheduling, retry logic, persistence support, and monitoring tools, making it a comprehensive solution for managing background workloads.
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 PostgreSQL-backed background task queue and scheduler that handles distributed processing, retries, and monitoring, though it is specifically tied to the Node/TypeScript ecosystem rather than being fully language-agnostic.
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
BullMQ is a Redis-backed message queue and background job processor that supports distributed task queuing, retries, and workflow orchestration, though it operates primarily as a programmatic library rather than a standalone configuration framework.
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
This Python-centric task queue and background worker system provides robust asynchronous job processing, persistence, retry handling, and scheduling, though its language-specific scope makes it narrower than a fully language-agnostic tool.
Kestra is a declarative workflow orchestrator designed to manage complex task dependencies and automated processes through versioned configuration files. It functions as a distributed platform that decouples task scheduling from execution by offloading computational workloads to a fleet of worker nodes. The system uses a reactive, event-driven engine to initiate workflows automatically in response to external signals, webhooks, schedules, or file system changes. The platform distinguishes itself through a modular plugin architecture that allows for the integration of custom tasks and external
Kestra is a declarative workflow orchestrator and configuration platform that handles distributed task execution, scheduling, and monitoring through versioned files, fitting the management of asynchronous jobs well despite being geared more toward broad data pipelines.
Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as a distributed task processor and queue manager, allowing long-running work to be moved out of the main request cycle. The system executes background jobs in isolated child processes to prevent memory leaks and provides a web-based dashboard for monitoring queue depths, worker activity, and failed job statistics. Capability areas include distributed worker coordination via signals, error handling with job retry mechanisms, and priority-ordered queue management. It also suppor
Resque is a distributed Ruby task queue and background worker manager that provides job persistence via Redis, failure handling, and a monitoring dashboard, though it is limited to the Ruby ecosystem rather than being language-agnostic.
Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for building and executing fault-tolerant, multi-step pipelines as directed acyclic graphs (DAGs), with automatic retries, scheduling, and real-time observability. The system is built around durable task checkpointing, which persists execution state after each step so work can resume from the last checkpoint after a worker crash or restart, and it supports event-driven task resumption that pauses a task until a matching external event arrives. The platform distinguishes itself through it
Hatchet is a durable workflow engine and task orchestration platform that provides distributed job execution, automatic retries, scheduling, and observability, closely matching the needs of an asynchronous task queue configuration system.
Sidekiq is a Ruby background processing framework and asynchronous task runner. It functions as a Redis-backed background job processor that offloads heavy or time-consuming work from web requests to separate worker processes to ensure the main application remains responsive. The system operates as a Redis task queue, storing pending jobs in Redis to be processed concurrently by multiple threads. It provides a framework for distributed task queueing and asynchronous job scheduling to coordinate work across multiple server instances. The project covers Ruby application scaling by executing ba
Sidekiq is a Redis-backed background job processor that handles distributed task queuing and asynchronous processing for Ruby, though it is tied to a single language ecosystem rather than being fully language-agnostic.
Prefect is a workflow orchestration platform designed to define, schedule, and monitor complex data pipelines as Python code. It functions as a container-native engine that wraps individual tasks in isolated environments, ensuring consistent dependencies and resource allocation across diverse infrastructure. By utilizing a state-machine-based orchestration model, the system tracks execution progress through discrete transitions and persistent event logs to maintain reliable and observable task processing. The platform distinguishes itself through a decoupled worker-API architecture, which sep
Prefect is a workflow orchestration and data pipeline platform that handles scheduling, persistence, and monitoring, aligning closely with asynchronous task processing needs though tailored primarily to Python code rather than being language-agnostic.
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
Sidekiq is a mature background job processor and queue manager for Ruby with robust scheduling, persistence, and monitoring features, though its language-specific scope keeps it narrower than a universal multi-language system.
Horizon is a background job orchestrator and worker manager for Redis queues. It provides a monitoring dashboard to track job throughput, wait times, and failure rates, alongside a system for managing job retries, execution timeouts, and worker distribution. The project distinguishes itself through a Redis-backed monitoring interface that identifies system bottlenecks and a queue alerting system that sends notifications when background job wait times exceed defined thresholds. Worker processes are managed via version-controlled configuration files to ensure consistent balancing and scaling ac
Horizon provides worker management and a monitoring dashboard for Redis queues, but it is tightly coupled to the PHP Laravel ecosystem rather than offering language-agnostic support.
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 orchestration engine that manages task lifecycles, worker polling, and retries, serving as a robust execution platform for asynchronous jobs despite being broader than a simple queue configuration tool.
Cronicle is a distributed job scheduler that replaces traditional cron with a browser-based management interface. It runs scheduled tasks across a cluster of servers with automatic failover, using a custom cron parser that intersects day-of-month and day-of-week constraints when both are specified. The system executes jobs through a plugin framework that runs command-line scripts in any language, communicating via JSON over standard input and output. The scheduler provides a web-based real-time dashboard for monitoring running jobs with live logs, resource usage charts, and progress updates.
Cronicle provides a distributed job scheduler with a web-based monitoring dashboard, multi-server clustering, and language-agnostic command execution, though it focuses more on scheduled triggers than general task queues.
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-based transactional job queue and distributed job scheduler using PostgreSQL for persistence, providing robust task management and failure handling though restricted to the Go ecosystem rather than being language-agnostic.
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 provides a durable execution framework and event-driven automation engine for background workflows, offering robust task processing and retry capabilities, though it serves more as an orchestration platform than a traditional task queue configuration tool.
| Repository | Stele | Limbaj | Licență | Ultimul push |
|---|---|---|---|---|
| powerjob/powerjob | 7.8K | Java | Apache-2.0 | |
| optimalbits/bull | 16.2K | JavaScript | NOASSERTION | |
| agronholm/apscheduler | 7.5K | Python | MIT | |
| bee-queue/bee-queue | 4K | JavaScript | NOASSERTION | |
| agenda/agenda | 9.7K | HTML | NOASSERTION | |
| hangfireio/hangfire | 10K | C# | other | |
| mcuadros/ofelia | 3.7K | Go | mit | |
| temporalio/temporal | 18.4K | Go | mit | |
| coleifer/huey | 5.9K | Python | mit | |
| celery/celery | 28.6K | Python | NOASSERTION |