For a library for scheduling recurring background tasks, the strongest matches are contribsys/faktory (Faktory is a robust, language-agnostic job server that provides), ouqiang/gocron (This is a distributed task scheduling system that provides) and whyour/qinglong (Qinglong is a containerized task orchestration platform that provides). powerjob/powerjob and ltsopensource/light-task-scheduler round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best task scheduling agents for your project. Compare top open-source libraries ranked by activity and features to find the best fit.
Faktory is an open-source work server that queues, dispatches, and manages background jobs across multiple programming languages. It stores job payloads as JSON hashes in a Redis-backed queue and provides language-specific client and worker libraries that enable any language to push jobs to the server or fetch and execute them. The server includes a batch workflow orchestrator that groups jobs into batches with completion tracking for coordinating multi-step asynchronous workflows. It features a configurable job uniqueness filter that prevents duplicate enqueues within a time window, an expon
Faktory is a robust, language-agnostic job server that provides a distributed queue, built-in retry logic, and a management interface, making it a comprehensive solution for scheduling and executing background tasks.
定时任务管理系统
This is a distributed task scheduling system that provides a web-based dashboard for managing cron-like jobs, supporting multi-node execution, automatic retries, and task monitoring.
Qinglong is a containerized task scheduler and automation platform designed to orchestrate recurring background jobs. It provides a centralized dashboard for managing, scheduling, and executing scripts across multiple programming languages, ensuring consistent environments through isolated container-based execution. The platform distinguishes itself by integrating remote repository synchronization, allowing users to clone and update external script collections directly within the system. It combines this with comprehensive environment variable management, enabling the secure storage of creden
Qinglong is a containerized task orchestration platform that provides cron-like scheduling, a centralized dashboard for monitoring, and support for executing scripts across multiple languages, making it a comprehensive solution for managing recurring background jobs.
Enterprise job scheduling middleware with distributed computing ability.
PowerJob is a distributed, enterprise-grade job scheduling and execution framework that provides cron-based scheduling, retry logic, a built-in monitoring dashboard, and support for multi-language task execution.
Light Task Scheduler is a distributed job scheduling and workflow orchestration platform designed for managing background processing across scalable computing environments. It functions as a cluster management system that coordinates stateless nodes to execute recurring, cron-based, or one-time tasks with centralized control and high availability. The platform distinguishes itself through a leader-based coordination model that automatically elects a primary controller to manage task distribution and system state. It supports complex workflow dependencies, ensuring that prerequisite tasks comp
This platform is a distributed job scheduling and workflow orchestration system that provides the required cron-based execution, distributed queueing, retry logic, and cluster monitoring capabilities in a centralized, high-availability architecture.
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 comprehensive distributed task queue and job scheduler that provides robust support for background processing, retry logic, and scalable workload orchestration across multiple worker nodes.
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 robust distributed workflow orchestration engine that provides reliable task scheduling, distributed job queuing, built-in retry logic, and comprehensive monitoring, making it a flagship solution for managing complex background processes.
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 robust, distributed workflow orchestration engine that natively handles complex task scheduling, job queuing, retry logic, and monitoring, making it a comprehensive solution for managing recurring and background processes.
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 is a distributed job scheduler that provides a centralized dashboard for managing recurring tasks, supports multi-language execution via command-line plugins, and includes built-in features for monitoring and job retries.
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 is a distributed task queue and background worker system that provides reliable job execution, retry logic, and cron-like scheduling, though it is specifically designed for the Python ecosystem rather than being 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 robust background job scheduler and distributed task queue for .NET that provides reliable state persistence, retry logic, and cron-like scheduling, though it is specifically designed for the .NET ecosystem rather than being a language-agnostic system.
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 job scheduler and distributed task runner that provides cron-like scheduling, retry logic, and queue management for Node.js environments, though it is limited to that specific ecosystem rather than being language-agnostic.
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 robust background job queue and task scheduler that leverages PostgreSQL for reliable, distributed task management, including built-in cron scheduling, retry logic, and a monitoring dashboard.
DolphinScheduler is a distributed workflow orchestrator designed to manage and automate complex data processing pipelines. It functions as a data pipeline scheduler that coordinates multi-step tasks across distributed environments, ensuring reliable execution through defined dependencies and sequences. The platform utilizes a directed acyclic graph model to represent workflows, allowing users to define task relationships via a visual interface. It employs a master-worker architecture supported by a pluggable task plugin system, which enables the dynamic extension of task types without requiri
DolphinScheduler is a comprehensive distributed workflow orchestrator that provides robust task scheduling, a distributed job queue, built-in retry logic, and a visual monitoring dashboard, making it a flagship solution for managing complex recurring background jobs.
This project provides a containerized environment for deploying Apache Airflow, enabling the orchestration of complex data pipelines and automated task scheduling. By packaging the orchestration platform into portable images, it ensures consistent execution across diverse infrastructure setups and simplifies the management of runtime dependencies. The platform facilitates distributed task execution by decoupling the scheduler from the execution layer, allowing for horizontal scaling of processing power across multiple worker nodes. It supports dynamic configuration through environment variabl
This repository provides a containerized deployment for Apache Airflow, which is a robust platform for managing complex task scheduling, distributed job queues, and workflow orchestration.
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 robust distributed task queue and workflow engine that handles background job execution, retry logic, and periodic scheduling, though it lacks a built-in monitoring dashboard.
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 comprehensive workflow orchestration platform that provides robust scheduling, distributed execution, retry logic, and a built-in monitoring dashboard, making it a flagship solution for managing complex background jobs and recurring tasks.
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 robust distributed task queue and background job manager that handles retries, concurrency, and complex task orchestration, though it lacks a built-in monitoring dashboard and is primarily focused on the Python ecosystem.
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 distributed workflow engine that provides robust task scheduling, queue management, automatic retries, and real-time observability, making it a comprehensive solution for executing complex background jobs across multiple languages.
DataX Web is a web-based management platform for scheduling, building, executing, and monitoring distributed data synchronization jobs powered by DataX. It provides a visual console for creating and managing DataX tasks without manual JSON configuration, with a distributed executor cluster that auto-registers worker nodes and supports configurable routing and blocking strategies for task distribution. The platform offers cron-based task scheduling with dynamic start, stop, and immediate status changes, along with incremental sync capabilities that pass dynamic parameters to extract only new o
This platform provides a distributed job scheduling and execution system with a monitoring dashboard, cron-like capabilities, and retry logic, though it is specifically tailored for data synchronization tasks rather than general-purpose background job processing.
Quartz is a Java job scheduling framework and task execution engine designed to manage and execute scheduled tasks within application environments. It functions as an enterprise job scheduler that persists job state and execution history to maintain reliability across system restarts. The system distinguishes itself through a decoupled architecture that separates the definition of a job's action from the trigger logic that determines when it runs. It supports distributed task coordination across multiple server nodes to provide high availability and load balancing. The framework covers a bro
Quartz is a robust Java-based job scheduling framework that provides enterprise-grade features like cron-like triggers, distributed task coordination, and persistent job state, though it functions as a library to be embedded in your application rather than a standalone service with a built-in monitoring dashboard.
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 distributed job queue and task scheduler for Node.js that provides essential features like persistent queues, retry logic, and job monitoring, though it is limited to the Node.js ecosystem rather than being a language-agnostic system.
This library provides a task scheduling framework for Node.js applications, enabling the automation of recurring operations using standard cron syntax. It functions as a background task manager that maintains a stateful registry of jobs, allowing for runtime inspection, modification, and lifecycle control of scheduled operations. The project distinguishes itself through support for distributed environments and resource management. It includes mechanisms to coordinate tasks across multiple application instances, ensuring that scheduled work executes exactly once to prevent overlap or resource
This library provides a robust framework for scheduling recurring tasks and managing job lifecycles with support for distributed coordination, though it functions as an embeddable component rather than a standalone job queue server.
gocron is a task scheduling library for Go designed to automate recurring tasks using crontab expressions, fixed durations, and specific calendar dates. It functions as a concurrent job manager and execution monitor that tracks task lifecycles and performance. The project provides distributed task scheduling through leader election and distributed locking to prevent duplicate job execution across multiple nodes. It further distinguishes itself with a concurrency management system that implements singleton constraints and global execution quotas to protect system resources. The scheduler cove
This is a robust task scheduling library for Go that provides cron-like scheduling, distributed locking, and concurrency management, though it functions as an embeddable library rather than a standalone job queue server with a built-in monitoring dashboard.
Huginn is a self-hosted automation platform that functions as an event-driven workflow engine. It allows users to build autonomous agents that monitor web services, scrape data, and execute complex tasks by propagating events through a directed graph. By running on your own server infrastructure, it provides a private environment for orchestrating workflows without relying on third-party automation services. The platform distinguishes itself through a modular, plugin-based architecture that enables the development of custom agents to handle specific data processing needs. Each agent maintains
Huginn is an event-driven automation platform that handles recurring tasks and background workflows, serving as a capable alternative for scheduling and executing complex jobs despite its focus on agent-based data processing.
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 specialized job scheduler that provides cron-like execution and concurrency control for Docker-based environments, making it a direct fit for managing recurring tasks even though it lacks a built-in distributed queue or a dedicated monitoring dashboard.
node-schedule is a job scheduler for Node.js that executes arbitrary functions based on specific dates or recurring rules. It functions as a date-based and event-driven scheduling system for JavaScript environments, allowing for the automation of one-off events and periodic tasks. The project supports recurring job scheduling through cron-style strings and recurrence rules, as well as the ability to schedule tasks for precise, single execution dates. It includes timezone-aware date calculations to map recurring rules against global or local time offsets. The system provides a comprehensive j
This is a Node.js-based library for scheduling recurring tasks and cron-style jobs, though it functions as an in-process scheduler rather than a distributed job queue system.
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 robust Redis-backed library for distributed job queuing and task scheduling that provides essential features like retry logic, rate limiting, and job dependency management for complex workflows.
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
Oban is a robust, PostgreSQL-backed distributed job queue and scheduler that provides reliable execution, retry logic, and monitoring, though it is specifically designed for the Elixir ecosystem rather than being a language-agnostic system.
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 that handles background job orchestration and event-driven workflows, providing the core scheduling and retry capabilities required for complex task management.
Flow-like is a workflow orchestration engine designed for building and executing strictly typed automated processes. It provides a secure, sandboxed runtime environment that supports the integration of local artificial intelligence models, allowing for the processing of data entirely on host hardware without reliance on external cloud services. The platform distinguishes itself through its event-sourced execution tracing, which records every state change and data movement to enable full auditability and the replay of past processes. It combines this with a hybrid storage system that integrate
This is a workflow automation engine designed for orchestrating complex, typed tasks and background processes, which aligns with the core requirements for job execution and scheduling even if it emphasizes AI-driven data flows over traditional cron-style job queues.
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 robust Python-based task scheduling library that supports cron-like intervals, persistent job stores, and distributed execution, though it lacks a built-in monitoring dashboard and is limited to Python-based task definitions.
Quartz.NET is a job scheduler for .NET applications designed to schedule and execute programmatic tasks. It functions as a distributed task orchestrator and enterprise task orchestrator, capable of managing recurring jobs with concurrency limits and complex intervals. The system provides high availability through a clustered execution model that balances loads and provides fail-over redundancy across multiple server instances. It utilizes a relational database job store to persist job and trigger states, ensuring that scheduled tasks survive application restarts. The framework includes capab
Quartz.NET is a robust, enterprise-grade job scheduler that provides distributed execution, persistence, and complex cron-like scheduling for .NET applications, though it lacks a built-in web-based monitoring dashboard.
ShardSphere-ElasticJob is a Java-based distributed scheduling framework designed to manage workloads across multiple nodes. It provides a system for splitting scheduled tasks into shards and distributing them across a cluster to achieve high-throughput execution. The framework includes a distributed task failover system that detects node failures and automatically reassigns missed job executions to healthy cluster instances. It also features a cluster resource manager to dynamically allocate execution resources based on system load and capacity. The system covers high-availability task execu
This is a distributed job scheduling framework that provides cron-like execution, task sharding, and automatic failover, making it a robust solution for managing recurring background jobs across a cluster.
Go-native distributed job scheduler with delayed tasks, batched Redis coordination, retries, lease-based recovery, and versioned queue partitioning.
This is a distributed job scheduler that provides core features like Redis-backed queue coordination, retry logic, and delayed task execution, making it a solid choice for managing background jobs.
Persistent cluster-friendly scheduler for Java
This is a persistent, cluster-friendly job scheduler for Java that handles recurring tasks and distributed execution, though it is limited to the Java ecosystem rather than providing multi-language support.
Scheduler with standard cron and task dependencies
This is a task scheduler that supports cron-like syntax and task dependencies, providing the core functionality for managing recurring jobs even though it lacks a built-in distributed queue or monitoring dashboard.
| Repositorio | Estrellas | Lenguaje | Licencia | Último push |
|---|---|---|---|---|
| contribsys/faktory | 6.1K | Go | other | |
| ouqiang/gocron | 6.3K | Go | MIT | |
| whyour/qinglong | 19.2K | TypeScript | apache-2.0 | |
| powerjob/powerjob | 7.8K | Java | Apache-2.0 | |
| ltsopensource/light-task-scheduler | 3K | Java | Apache-2.0 | |
| celery/celery | 28.6K | Python | NOASSERTION | |
| temporalio/temporal | 18.4K | Go | mit | |
| conductor-oss/conductor | 32K | Java | Apache-2.0 | |
| jhuckaby/cronicle | 5.7K | JavaScript | NOASSERTION | |
| rq/rq | 10.7K | Python | NOASSERTION |