awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rq avatar

rq/rq

0
View on GitHub↗
10,653 نجوم·1,480 تفرعات·Python·14 مشاهدات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.

سجل النجوم

مخطط تاريخ النجوم لـ rq/rqمخطط تاريخ النجوم لـ rq/rq

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Rq

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Rq.
  • resque/resqueالصورة الرمزية لـ resque

    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/bullالصورة الرمزية لـ OptimalBits

    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/hangfireالصورة الرمزية لـ HangfireIO

    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/bullmqالصورة الرمزية لـ taskforcesh

    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
عرض جميع البدائل الـ 30 لـ Rq→

الأسئلة الشائعة

ما هي وظيفة 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…