FREEDOM251

Freedom251 › Task Queue Software

Delayed Job

Free plan Self-hosted

Visit Delayed Job Alternatives Pricing

Delayed Job's own site

What Delayed Job is

Delayed Job is a self-hosted, database-backed priority queue for running longer tasks asynchronously in the background. Listed uses include newsletter sending, image resizing, HTTP downloads, batch imports, and spam checks. Methods can be queued with `.delay`, with settings for priority, scheduled run time, and named queues. Separate worker processes can be assigned to selected queues or worker pools. Rails 4.2 and later can use Delayed Job as the Active Job queue adapter, and the documentation describes Active Record and Mongoid storage backends. Failed jobs are rescheduled with delays based on their attempt count, up to 25 attempts by default. After retries are exhausted, jobs are deleted by default, although a worker can be configured to keep them in the database. The default maximum runtime is four hours; a longer-running job could be picked up by another computer. The current gem specification requires Ruby 3.2 or later and ActiveSupport 3.0 or later but below 9.0. The software is free under the MIT license, which provides it as-is without warranty.

Who it suits

Delayed Job suits Ruby and Rails developers who need a self-hosted queue for background tasks. It is especially relevant to Rails 4.2-or-later projects using Active Job and teams able to meet its Ruby and ActiveSupport requirements.

What it does well

  • Queues methods with priority and scheduled run times.
  • Workers can target queues or worker pools.
  • Supports Active Record and Mongoid storage backends.
  • Configurable failed-job retention.
  • Free and MIT-licensed.

What to know first

  • Requires Ruby 3.2 or later.
  • Default job runtime limit is four hours.
  • Failed jobs are deleted by default after retries.
  • Software is provided without warranty.

Limits

The default maximum job runtime is four hours, and the default maximum is 25 retry attempts. Failed jobs are deleted after retries unless workers are configured to keep them in the database.

Plans

PlanBilled and limitsPrice
MIT-licensed softwareMIT license; Ruby >= 3.2Free

As github.com lists them, read 5 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the Delayed Job project page on GitHub.
  2. Check that your environment meets the Ruby and ActiveSupport requirements.
  3. Choose Active Record or Mongoid for queue storage.
  4. For Rails 4.2 and later, configure Delayed Job as the Active Job queue adapter.
  5. Queue methods with `.delay` and set any needed priority, schedule, or named queue.
  6. Start background worker processes and assign them to queues or worker pools.

Verdict

Delayed Job provides queueing, scheduling, and retry controls for background work in a self-hosted package. Check the runtime defaults and Ruby and ActiveSupport requirements, and plan how failed jobs should be retained.

Questions

Does Delayed Job cost anything?

It is free open-source software under the MIT license.

Where can Delayed Job run?

It is self-hosted. The current gem specification requires Ruby 3.2 or later and ActiveSupport 3.0 or later but below 9.0.

Can it run scheduled jobs?

Yes. Queue options include a scheduled run time.

Can Rails use Delayed Job?

Rails 4.2 and later can use it as the Active Job queue adapter.

What happens when a job fails?

Failed jobs are rescheduled with delays based on attempt count, up to 25 attempts by default. After retries, they are deleted by default, but workers can be configured to keep them.

Where can users get help?

The README points users to a Google Groups mailing list and Stack Overflow.

Facts from Delayed Job's own pages

Failed-job handling
Failed jobs are deleted by default after retries, but the worker can be configured to keep them in the database. · github.com, 5 Oct 2026
Purpose
Delayed::Job is a database-backed priority queue for running longer tasks asynchronously in the background. · github.com, 5 Oct 2026
Queueing
Methods can be queued with `.delay`, with options for priority, scheduled run time, and named queues. · github.com, 5 Oct 2026
Rails integration
Rails 4.2 and later can use Delayed::Job as the Active Job queue adapter. · github.com, 5 Oct 2026
Requirements
The current gem specification requires Ruby 3.2 or later and ActiveSupport 3.0 or later but below 9.0. · github.com, 5 Oct 2026
Retry behavior
Failed jobs are rescheduled with a delay based on the attempt count, and the default maximum is 25 attempts. · github.com, 5 Oct 2026
Runtime limit
The default maximum job runtime is four hours; the documentation warns that a longer job could be picked up by another computer. · github.com, 5 Oct 2026
Security and warranty
The MIT license grants use, copying, modification, distribution, sublicensing, and sale, and provides the software as-is without warranty. · github.com, 5 Oct 2026
Storage backends
The documentation describes Active Record and Mongoid backends for storing the job queue. · github.com, 5 Oct 2026
Support
The README points users to a Google Groups mailing list and Stack Overflow for help. · github.com, 5 Oct 2026
Use cases
The project lists newsletter sending, image resizing, HTTP downloads, batch imports, and spam checks among its uses. · github.com, 5 Oct 2026
Workers
Background workers can be started as separate processes and assigned to specific queues or worker pools. · github.com, 5 Oct 2026

Where Delayed Job stands on Freedom251

Look at these too