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

Python Asynchronous Task Queues

Ranking updated Jun 30, 2026

For an async task queue for Python background jobs, the strongest matches are rq/rq (rq is a well-established Python task queue and background), coleifer/huey (Huey is a task queue for Python that supports) and celery/celery (Celery is a mature distributed task queue for Python). agenda/agenda and whyour/qinglong round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Distributed message brokers and job processing libraries for managing background tasks in Python applications.

Python Asynchronous Task Queues

Find the best repos with AI.We'll search the best matching repositories with AI.
  • rq/rqrq avatar

    rq/rq

    10,653View on GitHub↗

    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 well-established Python task queue and background job processor that uses Redis as its broker, supports asyncio coroutines, and provides scheduled tasks, automatic retries, result persistence, and monitoring—making it a comprehensive fit for this search.

    PythonCron SchedulingJob Monitoring ToolsAutomatic Retry Mechanisms
    View on GitHub↗10,653
  • coleifer/hueycoleifer avatar

    coleifer/huey

    5,933View on GitHub↗

    .. image:: https://media.charlesleifer.com/blog/photos/huey3-logo.png

    Huey is a task queue for Python that supports Redis and SQLite backends with scheduling and retries, but its consumers use threads or greenlets rather than native asyncio, so it does not fully match the request for async/await-first libraries.

    PythonTask Retry Policies
    View on GitHub↗5,933
  • celery/celerycelery avatar

    celery/celery

    28,596View on GitHub↗

    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 mature distributed task queue for Python, but its worker model is not asyncio-native—it relies on its own event loop or third-party integration—so while it squarely covers the task queue category, you may need additional setup for native async/await support.

    PythonDistributed Task QueuesTask QueuesDistributed Task Processors
    View on GitHub↗28,596
  • agenda/agendaagenda avatar

    agenda/agenda

    9,679View on GitHub↗

    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 background job scheduler and task runner built for Node.js, not Python, so it does not meet the requirement for a Python-native task queue with asyncio support.

    HTMLBackground Task Retry PoliciesCron SchedulingJob Monitoring Tools
    View on GitHub↗9,679
  • whyour/qinglongwhyour avatar

    whyour/qinglong

    19,231View on GitHub↗

    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 scheduler and automation platform with a dashboard and cron-like scheduling, but it is not a Python library or framework for async task queues — it is a standalone application written in TypeScript that manages scripts across languages, lacking the asyncio-native API and broker integration you are looking for.

    TypeScriptCron SchedulingTask Monitoring
    View on GitHub↗19,231
  • jhuckaby/croniclejhuckaby avatar

    jhuckaby/Cronicle

    5,745View on GitHub↗

    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 with a web dashboard, not a Python library — it runs command-line scripts from any language rather than providing an asyncio-native API for managing background jobs from within a Python application.

    JavaScriptCron SchedulingQueue and Job State InspectionsAutomatic Retry Mechanisms
    View on GitHub↗5,745
  • richardknop/machineryRichardKnop avatar

    RichardKnop/machinery

    7,956View on GitHub↗

    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 workflow engine, but it is written in Go, not Python, so it does not match the request for a Python library with asyncio support.

    GoAutomatic Retry MechanismsResult Persistence Layers
    View on GitHub↗7,956
  • healthchecks/healthcheckshealthchecks avatar

    healthchecks/healthchecks

    9,891View on GitHub↗

    Healthchecks is a heartbeat monitoring service and cron job monitoring tool designed to track the execution and success of scheduled tasks and systemd timers. It functions as a dead man switch, alerting users when expected periodic signals from remote processes fail to arrive. The system accepts health signals via HTTP and SMTP, allowing it to track infrastructure heartbeats from sources ranging from CI/CD workflows to network routers. It distinguishes itself by supporting the capture of diagnostic data, including exit codes and execution logs, and by calculating the duration between start an

    Healthchecks monitors the execution of scheduled tasks via heartbeats and alerts on failures, but it is a monitoring tool rather than an async task queue or background job processor — it does not manage, execute, or persist jobs itself.

    PythonCron Scheduling
    View on GitHub↗9,891
  • kestra-io/kestrakestra-io avatar

    kestra-io/kestra

    27,073View on GitHub↗

    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 workflow orchestrator focused on complex dependency management and event-driven automation, but it is a Java-based distributed platform rather than a Python async library for background jobs, and it lacks the native asyncio integration and broker-based task queue model you are looking for.

    JavaTask Result StorageTask Retry Policies
    View on GitHub↗27,073
  • hatchet-dev/hatchethatchet-dev avatar

    hatchet-dev/hatchet

    6,622View on GitHub↗

    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 Go-based durable workflow engine that offers Python client support, but it is not a native Python library for background job processing; it is a full orchestration platform for DAGs, making it more of an adjacent category to the simple async job queue you're looking for.

    GoCron SchedulingCron Trigger ManagementTask Retry Policies
    View on GitHub↗6,622
  • prefecthq/prefectPrefectHQ avatar

    PrefectHQ/prefect

    21,640View on GitHub↗

    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 platform for data pipelines rather than a lightweight async task queue for background jobs; it overlaps in scheduling and monitoring but is designed for complex data workflows, not general-purpose asynchronous job processing.

    PythonJob Monitoring ToolsTask MonitoringTask Result Storage
    View on GitHub↗21,640
  • nsqio/nsqnsqio avatar

    nsqio/nsq

    25,738View on GitHub↗

    NSQ is a distributed, brokerless messaging platform designed for high-throughput, fault-tolerant communication. By utilizing a decentralized topology, it eliminates single points of failure and allows for horizontal scaling across clusters. The system organizes message streams into topics and channels, effectively decoupling producers from consumers to support both streaming and job-oriented workloads. The platform distinguishes itself through a lookup-service-based discovery mechanism that enables clients to dynamically locate producers at runtime without requiring centralized coordination.

    NSQ is a distributed messaging platform in Go, not a Python library for background jobs; while it can serve as a message broker, it lacks asyncio-native integration and the task-management features (scheduling, retries, dashboard) you need.

    GoMessage Brokers
    View on GitHub↗25,738
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
rq/rq10.7KPythonNOASSERTIONJun 22, 2026
coleifer/huey5.9KPythonmitFeb 4, 2026
celery/celery28.6KPythonNOASSERTIONJun 16, 2026
agenda/agenda9.7KHTMLNOASSERTIONJun 19, 2026
whyour/qinglong19.2KTypeScriptapache-2.0Feb 8, 2026
jhuckaby/cronicle5.7KJavaScriptNOASSERTIONJun 14, 2026
richardknop/machinery8KGoMPL-2.0Nov 15, 2025
healthchecks/healthchecks9.9KPythonbsd-3-clauseFeb 19, 2026
kestra-io/kestra27.1KJavaApache-2.0Jun 16, 2026
hatchet-dev/hatchet6.6KGomitFeb 20, 2026

Related searches

  • a python library for background task processing
  • an asynchronous library for python development
  • a task queue that uses Postgres
  • a background job scheduler for server tasks
  • a simple message broker for tasks
  • a background job processor for Ruby
  • an async runtime for concurrent network services in Rust
  • an asynchronous runtime library for Rust