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
tobi avatar

tobi/delayed_job

0
View on GitHub↗
2,172 stars·1,238 forks·Ruby·MIT·27 viewstobi.github.com/delayed_job↗

Delayed Job

Delayed Job is a Ruby library that provides a database-backed system for asynchronous task processing. It enables the offloading of long-running or time-consuming operations to background workers by serializing method calls and their arguments into a relational database, ensuring that tasks persist across application restarts.

The system functions as a distributed priority task scheduler, where independent worker processes continuously poll the database for pending jobs. By integrating task creation directly into application database transactions, it guarantees that jobs are only queued when the associated business logic succeeds. This architecture allows for horizontal scaling by running multiple concurrent worker processes across different machines to handle high volumes of tasks.

Beyond basic execution, the library supports deferred scheduling and task prioritization, allowing critical operations to be processed before lower-priority background work. It also includes administrative tools for queue maintenance, providing the ability to clear, reset, or remove pending tasks to manage the state of the background processing system.

Features

  • Background Job Queues - Provides a system for offloading long-running tasks to background workers by storing method calls and arguments in a relational database.
  • Persistent Job Queue Libraries - Manages persistent task queues using existing database infrastructure to ensure reliable job execution and state recovery.
  • Asynchronous Task Processing - Offloads time-consuming operations to background workers to maintain application responsiveness and improve user experience.
  • Database-Backed Persistence - Persists job metadata and arguments in a relational database to ensure durability across application restarts.
  • Polymorphic Serializers - Encapsulates complex method calls and object states into serialized formats for later reconstruction by background workers.
  • Database-Refreshed Executions - Stores method calls in a queue for later execution with automatic database record refreshing to ensure jobs use current data.
  • Background Worker Processes - Provides worker processes that monitor the database for pending tasks and execute them across multiple machines.
  • Distributed Task Schedulers - Manages and executes background workloads across multiple worker processes with support for task prioritization and retries.
  • Priority-Based Job Schedulers - Orders task execution using numeric priority columns to ensure critical operations are processed before lower-priority background work.
  • Transactional Enqueueing - Integrates task creation into database transactions to guarantee jobs are only queued when associated business logic succeeds.
  • Polling-Based Worker Execution - Uses a polling mechanism where worker processes continuously query the database to discover and execute pending tasks.
  • Worker Scaling - Supports launching and adjusting multiple concurrent worker processes to handle high volumes of tasks at scale.
  • Background Process Offloading - Offloads long-running tasks into a database table for background execution to keep the main application responsive.
  • Asynchronous Task Processors - Executes deferred operations in Ruby applications by polling a database table for pending jobs and processing them sequentially.
  • Background Processing - Scales application workloads by running multiple concurrent worker processes across different machines to handle high volumes of tasks.
  • Background Task Schedulers - Allows saving method calls into a database for automatic execution by a background process without blocking the main thread.
  • Recurring Task Schedulers - Triggers specific method calls or business logic at a later time or on a recurring basis without blocking the main thread.

Star history

Star history chart for tobi/delayed_jobStar history chart for tobi/delayed_job

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Delayed Job

These projects share indexed features with Delayed Job. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • rails/solid_queuerails avatar

    rails/solid_queue

    2,443View on GitHub↗

    Solid Queue is a background job processing system for Ruby on Rails applications that utilizes a relational database as its primary storage backend. By integrating directly with the framework's native job interface, it ensures that task queues and execution states are persisted within the database, providing reliability and recoverability across system failures. The system distinguishes itself by embedding worker processes directly into the web server environment, which simplifies deployment and consolidates monitoring within existing infrastructure. It coordinates distributed worker processe

    Ruby
    View on GitHub↗2,443
  • oban-bg/obanoban-bg avatar

    oban-bg/oban

    3,812View on GitHub↗

    Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job storage and reliable execution across multiple nodes. It serves as a PostgreSQL-backed background worker and job queue, coordinating task execution and concurrency through a relational database to ensure delivery guarantees. The system differentiates itself through a distributed workflow orchestrator capable of managing multi-step processing pipelines, dependent job sequencing, and shared context. It provides advanced orchestration tools including job batching, chunked processi

    Elixir
    View on GitHub↗3,812
  • inngest/inngestinngest avatar

    inngest/inngest

    5,499View on GitHub↗

    Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background workflows. It enables developers to build resilient, stateful processes by memoizing function steps, ensuring that long-running tasks can automatically resume from the last successful operation after failures, timeouts, or infrastructure restarts. The platform distinguishes itself through its event-driven architecture, which uses a schema-validated bus to trigger functions and coordinate complex, multi-step logic. It employs an onion-model middleware approach for cross-cutting concer

    Go
    View on GitHub↗5,499
  • riverqueue/riverriverqueue avatar

    riverqueue/river

    5,252View on GitHub↗

    River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state management. It functions as a resumable task framework, allowing long-running background work to be broken into persisted steps that can resume from the last saved checkpoint after a failure. The system ensures strict data consistency by allowing background tasks to be enqueued and completed within the same database transaction as the primary application data. It distinguishes itself through a coordinator model that employs leader election to manage periodic and delayed tasks

    Go
    View on GitHub↗5,252
Compare all 30 related projects→

Frequently asked questions

What does tobi/delayed_job do?

Delayed Job is a Ruby library that provides a database-backed system for asynchronous task processing. It enables the offloading of long-running or time-consuming operations to background workers by serializing method calls and their arguments into a relational database, ensuring that tasks persist across application restarts.

What are the main features of tobi/delayed_job?

The main features of tobi/delayed_job are: Background Job Queues, Persistent Job Queue Libraries, Asynchronous Task Processing, Database-Backed Persistence, Polymorphic Serializers, Database-Refreshed Executions, Background Worker Processes, Distributed Task Schedulers.

Which projects share features with tobi/delayed_job?

Projects with overlapping indexed features include: rails/solid_queue — Solid Queue is a background job processing system for Ruby on Rails applications that utilizes a relational database… oban-bg/oban — Oban is a distributed background job processing system and task scheduler that uses PostgreSQL for transactional job… inngest/inngest — Inngest is a durable execution framework and event-driven automation engine designed to orchestrate background… riverqueue/river — River is a transactional job queue and distributed job scheduler for Go that uses PostgreSQL for persistence and state… jamesmh/coravel — Coravel is a .NET application framework library providing a set of tools for task scheduling, background job queuing,… queueclassic/queue_classic — Queue Classic is a background processing framework for Ruby applications that manages asynchronous tasks by utilizing…

Curated searches featuring Delayed Job

Hand-picked collections where Delayed Job appears.
  • Code-First Job Scheduler Libraries
  • Distributed Cron Job Schedulers
  • Postgres Backed Task Queues