awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rq avatar

rq/rq

0
View on GitHub↗
10,653 星标·1,480 分支·Python·12 次浏览python-rq.org↗

Rq

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 manage worker lifecycles via real-time control signals.

The system covers a broad range of automation capabilities, including periodic and recurring job scheduling via cron syntax and the management of complex workflows through job dependency tracking and retry logic. It also supports job status tracking, result capture, and configurable job serialization.

Worker pool orchestration and process control are managed through a command-line interface.

Features

  • Distributed Task Queues - Distributes units of work across multiple worker processes using a Redis backend for scalable task processing.
  • Redis-Backed Queues - Uses Redis as the primary backend for managing task lists and job metadata through atomic operations.
  • Background Task Schedulers - Automates recurring maintenance tasks and periodic reports using cron syntax and future timestamps.
  • Asynchronous Task Processing - Offloads heavy Python functions to background workers to maintain web application responsiveness.
  • Background Job Processing - Decouples job submission from execution by managing tasks that run asynchronously in the background.
  • Background Job Queues - Implements a worker system and Redis store to execute function calls asynchronously.
  • Message Queues - Implements a reliable message queue that prevents job loss during worker crashes using atomic operations.
  • Queue Worker Management - Includes tools for orchestrating, monitoring, and scaling long-lived processes that consume tasks from Redis.
  • Asynchronous Task Queues - Provides a framework for offloading long-running Python processes to background workers via a queue.
  • Reliability Patterns - Utilizes the Redis LMOVE pattern to ensure tasks are not lost if a worker fails during execution.
  • Reliable Task Queues - Implements atomic Redis list operations to prevent job loss if a worker fails during execution.
  • Dependency-Aware Task Orchestration - Manages complex workflows by tracking job dependencies and implementing automatic retry logic.
  • Background Job Schedulers - Provides background worker processes that monitor queues and execute pending Python jobs independently.
  • Background Processing Workers - Provides a process-based execution environment to run asynchronous Python functions and coroutines.
  • Cron Scheduling - Provides a dedicated scheduler process to execute recurring tasks based on cron expressions.
  • Dependency Graph Runners - Allows tasks to be executed according to a directed acyclic dependency graph to ensure prerequisites are met.
  • Job Schedulers - Automates recurring work by running tasks at fixed intervals or specific future timestamps.
  • Process-Based Isolation - Uses fork-based execution to isolate the worker's main loop from job crashes.
  • Automatic Retry Mechanisms - Provides mechanisms to re-run tasks that encountered exceptions with custom queue positioning.
  • Prerequisite Tracking - Enables prerequisite jobs to be required before a dependent task is allowed to start.
  • Worker Pool Management - Provides a command-line interface for managing and scaling worker pool concurrency and processing capacity.
  • Job Enqueueing Serialization - Allows the use of custom serializers or JSON to encode job data for storage in Redis.
  • Non-blocking IO Architectures - Supports the execution of non-blocking asyncio coroutines within worker processes to handle high-volume I/O.
  • Asyncio Coroutine Execution - Supports the execution of non-blocking Python coroutines to handle high-volume I/O workloads.
  • Job Monitoring Tools - Tracks and monitors the state transitions of jobs from queued to finished or failed.
  • Worker Lifecycle Controls - Implements real-time control signals to pause, resume, and shut down worker processes.
  • Worker Process Signaling - Uses a publish-subscribe pattern to send real-time control signals to running background worker processes.
  • Data Pipelines - Simple job queue implementation for Python applications.
  • Task Queues - Simple job queue system.

Star 历史

rq/rq 的 Star 历史图表rq/rq 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

rq/rq 是做什么的?

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.

rq/rq 的主要功能有哪些?

rq/rq 的主要功能包括:Distributed Task Queues, Redis-Backed Queues, Background Task Schedulers, Asynchronous Task Processing, Background Job Processing, Background Job Queues, Message Queues, Queue Worker Management。

rq/rq 有哪些开源替代品?

rq/rq 的开源替代品包括: resque/resque — Resque is a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store. It functions as… optimalbits/bull — Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It… hangfireio/hangfire — Hangfire is a background job scheduler and distributed task queue for .NET applications. It serves as a job… taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… coleifer/huey — .. image:: https://media.charlesleifer.com/blog/photos/huey3-logo.png. richardknop/machinery — Machinery is a distributed task queue and asynchronous workflow engine. It provides a system for processing heavy…

Rq 的开源替代方案

相似的开源项目,按与 Rq 的功能重合度排序。
  • resque/resqueresque 的头像

    resque/resque

    9,480在 GitHub 上查看↗

    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

    Rubyasynchronous-tasksasynctaskbackground-jobs
    在 GitHub 上查看↗9,480
  • optimalbits/bullOptimalBits 的头像

    OptimalBits/bull

    16,243在 GitHub 上查看↗

    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

    JavaScriptjobjob-queuemessage
    在 GitHub 上查看↗16,243
  • hangfireio/hangfireHangfireIO 的头像

    HangfireIO/Hangfire

    10,015在 GitHub 上查看↗

    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

    C#background-jobsbackground-threadbackground-worker
    在 GitHub 上查看↗10,015
  • taskforcesh/bullmqtaskforcesh 的头像

    taskforcesh/bullmq

    8,432在 GitHub 上查看↗

    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

    TypeScriptbackground-jobselixirnodejs
    在 GitHub 上查看↗8,432
查看 Rq 的所有 30 个替代方案→