For a python library for background task processing, the strongest matches are celery/celery (Celery is the industry-standard Python library for distributed task), rq/rq (RQ is a mature, distributed task queue for Python) and bogdanp/dramatiq (Dramatiq is a robust, distributed task queue library for). coleifer/huey and prefecthq/prefect round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best python task queue libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
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 the industry-standard Python library for distributed task processing, offering comprehensive support for message brokers, task scheduling, concurrency control, and result backends.
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 mature, distributed task queue for Python that provides robust background job processing, Redis-backed persistence, task scheduling, and comprehensive worker management, making it a flagship solution for this category.
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 library for Python that natively supports broker integration, task scheduling, concurrency control, and observability, making it a comprehensive solution for asynchronous background processing.
.. image:: https://media.charlesleifer.com/blog/photos/huey3-logo.png
Huey is a lightweight, feature-rich Python task queue library that supports distributed processing, multiple brokers like Redis, task scheduling, and concurrency control, making it a comprehensive solution for background job management.
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 robust workflow orchestration platform that handles distributed task processing, scheduling, and observability, making it a powerful, albeit more complex, alternative to traditional task queue libraries.
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 that handles distributed task orchestration and background execution, providing a robust alternative to traditional task queues by focusing on stateful, multi-step pipelines.
Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting task scheduling and resource management. It functions as a resource-aware execution engine that manages task dependencies, placement, and fault tolerance across networked compute nodes. At its core, the system provides a stateful actor model, allowing developers to define classes that run in dedicated processes to maintain and mutate internal state across remote method calls. The framework distinguishes itself through a robust cross-language interoperability layer, enabling f
Ray is a distributed execution engine that handles asynchronous task processing and resource management at scale, making it a powerful, albeit high-level, alternative to traditional task queue libraries for complex distributed workloads.
Flower is a monitoring and administration tool for Celery task queues. It provides a real-time web dashboard and a REST API to monitor distributed task clusters, manage worker instances, and observe message broker health. The project distinguishes itself by offering centralized control over the task lifecycle, allowing users to trigger, revoke, or terminate tasks and apply execution rate limits. It also includes a Prometheus metrics exporter to surface internal performance and status data for external monitoring and alerting systems. The tool covers a broad range of observability and managem
This is a monitoring and administration dashboard for Celery rather than a task queue library itself, serving as a tool you would use alongside a queueing system to manage and observe it.
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 environment for Apache Airflow, which is a workflow orchestration platform rather than a general-purpose Python task queue library for application-level background job processing.
Olmocr is a distributed document processing framework designed to convert PDF and image files into structured markdown. It functions as a vision-based document parser that utilizes multimodal neural networks to interpret complex visual layouts and translate them into standardized text representations. The system operates as a remote inference orchestrator, offloading heavy document analysis tasks to external servers or cloud APIs to minimize local computational requirements. By employing a stateless worker architecture, it decouples document ingestion from inference, allowing for the distribu
This is a specialized document processing and OCR framework that uses distributed task patterns for inference, rather than a general-purpose task queue library for managing arbitrary background jobs.
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 is a Java-based distributed job orchestration and cluster management platform, which does not provide the Python-native library interface required for your task processing needs.
Py12306 is a distributed system designed for the automation of railway ticket booking and seat availability monitoring. It enables users to manage multiple accounts and execute reservation workflows automatically, including the resolution of security challenges encountered during the booking process. The platform distinguishes itself through a distributed architecture that coordinates multiple worker nodes via a central data store, allowing for scalable task execution and automatic failover. It utilizes parallel, multi-threaded query processing to maximize the frequency of availability checks
This project is a specialized automation tool for railway ticket booking rather than a general-purpose task queue library, making it a specific application instance rather than the infrastructure component you are looking for.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| celery/celery | 28.6K | Python | NOASSERTION | |
| rq/rq | 10.7K | Python | NOASSERTION | |
| bogdanp/dramatiq | 5.1K | Python | lgpl-3.0 | |
| coleifer/huey | 5.9K | Python | mit | |
| prefecthq/prefect | 21.6K | Python | apache-2.0 | |
| hatchet-dev/hatchet | 6.6K | Go | mit | |
| ray-project/ray | 42.9K | Python | Apache-2.0 | |
| mher/flower | 7.2K | Python | NOASSERTION | |
| puckel/docker-airflow | 3.8K | Shell | Apache-2.0 | |
| allenai/olmocr | 17.4K | Python | Apache-2.0 |