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

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

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

resque/resque

0
View on GitHub↗
9,480 星标·1,656 分支·Ruby·MIT·7 次浏览resque.github.io↗

Resque

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 supports lifecycle hooks to extend job behavior and uses namespaces to isolate data keyspaces within Redis.

Features

  • Asynchronous Task Processing - Offloads long-running work to background workers using Redis as the queueing data store.
  • Distributed Task Processors - Functions as a distributed task processor that executes background operations across multiple worker nodes.
  • Redis-Backed Queues - Utilizes Redis as the primary persistent storage and message broker for distributed task queues.
  • Background Job Processing - Provides a system for offloading long-running work from the main request cycle to asynchronous background workers.
  • Background Job Queues - Persists tasks as data objects into Redis queues to be processed asynchronously by background workers.
  • Distributed Task Workers - Coordinates a distributed fleet of workers using Unix signals for lifecycle management and process isolation.
  • Process-Based Isolation - Executes every background job in a separate child process to isolate crashes and prevent memory leaks.
  • Polling-Based Worker Execution - Implements a polling-based model where workers periodically check Redis queues for new tasks.
  • Message Queue Dashboards - Provides a visual dashboard for tracking queue depths and the overall health of the task system.
  • Task Queues - Runs background workers that poll Redis queues and execute jobs within isolated child processes.
  • Job Process Sandboxing - Spawns a new child process for every job to prevent memory leaks and isolate crashes from the main worker.
  • Redis-Backed Background Job Libraries - Provides a Ruby library for enqueueing and processing asynchronous tasks using Redis as a data store.
  • Background Job Monitoring - Provides a visual dashboard for monitoring queue depths, worker activity, and job failure statistics.
  • Queue Administration Interfaces - Ships a web-based administrative UI for monitoring and managing background job queues.
  • Job Monitoring Tools - Offers an administrative interface to monitor the health, activity, and failure rates of background jobs.
  • Failed Processing Job Auditing - Captures failed jobs and their exceptions into a dedicated failure queue for auditing and debugging.
  • Task Status Monitors - Tracks the operational status of queues, jobs, and workers via a dedicated monitoring interface.
  • Namespace Prefixing - Uses namespace prefixing for Redis keys to allow multiple independent environments on a single server.
  • Task Schedulers - Implements a task scheduler that manages the execution and lifecycle of persistent background jobs.
  • Job Priority Management - Controls the processing order by specifying a sequence of queues for workers to check in a set priority.
  • Automatic Retry Mechanisms - Provides mechanisms to re-queue failed jobs individually or in bulk via an interface or API.
  • Job Middleware - Implements a system for adding cross-cutting logic like locking via job execution wrappers.
  • Shutdown Signaling - Uses Unix signals to manage the lifecycle of background worker processes, including graceful shutdowns.
  • Background Task Retry Policies - Provides mechanisms to define retry attempts and backoff intervals for failing background tasks.
  • Failure Queues - Provides a dedicated failure queue to capture exceptions and job metadata for later inspection and manual retry.
  • Lifecycle Event Hooks - Provides hooks to execute custom logic at predefined stages of the job and worker lifecycles.
  • Worker Lifecycle Hooks - Provides predefined trigger points for custom logic to execute before and after job or worker events.
  • Priority Queues - Determines job execution order by iterating through a sequence of queues in a specific priority order.
  • Background Job Dashboards - Ships a web-based dashboard for monitoring worker activity, queue depths, and failed job statistics.
  • Process Monitors - Tracks processing statistics and resource usage for background services via a configurable backend.
  • Worker Process Management - Manages background workers as isolated OS-level processes to ensure stability and resource isolation.
  • Worker Lifecycle Controls - Provides mechanisms to control worker runtime states, such as graceful shutdowns and pausing, using Unix signals.
  • Worker Event Interceptors - Allows executing custom logic at specific worker stages such as before forking or during shutdown.
  • Background Jobs - Redis-backed background job queue.
  • Queues and Messaging - Redis-backed library for background jobs.

Star 历史

resque/resque 的 Star 历史图表resque/resque 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

Resque 的开源替代方案

相似的开源项目,按与 Resque 的功能重合度排序。
  • rq/rqrq 的头像

    rq/rq

    10,653在 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

    Pythonasyncbackground-jobsdelayed-jobs
    在 GitHub 上查看↗10,653
  • 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
  • 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
  • contribsys/faktorycontribsys 的头像

    contribsys/faktory

    6,089在 GitHub 上查看↗

    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

    Go
    在 GitHub 上查看↗6,089
查看 Resque 的所有 30 个替代方案→

常见问题解答

resque/resque 是做什么的?

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.

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

resque/resque 的主要功能包括:Asynchronous Task Processing, Distributed Task Processors, Redis-Backed Queues, Background Job Processing, Background Job Queues, Distributed Task Workers, Process-Based Isolation, Polling-Based Worker Execution。

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

resque/resque 的开源替代品包括: rq/rq — rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task… optimalbits/bull — Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It… taskforcesh/bullmq — BullMQ is a Redis-backed message queue library and background processor designed for distributed task queueing. It… contribsys/faktory — Faktory is an open-source work server that queues, dispatches, and manages background jobs across multiple programming… richardknop/machinery — Machinery is a distributed task queue and asynchronous workflow engine. It provides a system for processing heavy… automattic/kue — Kue is a Redis-backed job queue library for Node.js that provides a complete system for defining, scheduling, and…