Class: ActiveJob::QueueAdapters::DelayedJobAdapter
| Relationships & Source Files | |
| Namespace Children | |
|
Classes:
| |
| Super Chains via Extension / Inclusion / Inheritance | |
|
Class Chain:
self,
AbstractAdapter
|
|
|
Instance Chain:
self,
AbstractAdapter
|
|
| Inherits: |
ActiveJob::QueueAdapters::AbstractAdapter
|
| Defined in: | activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb |
Overview
Delayed Job adapter for Active Job
Delayed::Job (or DJ) encapsulates the common pattern of asynchronously
executing longer tasks in the background. Although DJ can have many
storage backends, one of the most used is based on Active Record.
Read more about Delayed Jobhere.
To use Delayed Job, set the queue_adapter config to :delayed_job.
{Rails.application}.config.active_job.queue_adapter = :delayed_job
Instance Attribute Summary
AbstractAdapter - Inherited
Instance Method Summary
- #check_adapter
- #enqueue(job) Internal use only
- #enqueue_at(job, timestamp) Internal use only
AbstractAdapter - Inherited
Instance Method Details
#check_adapter
[ GitHub ]# File 'activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb', line 23
def check_adapter ActiveJob.deprecator.warn <<~MSG.squish The built-in `delayed_job` adapter is deprecated and will be removed in Rails 9.0. Please upgrade `delayed_job` gem to version 4.2.0 or later to use the `delayed_job` gem's adapter. MSG end
#enqueue(job)
This method is for internal use only.
[ GitHub ]
# File 'activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb', line 30
def enqueue(job) # :nodoc: delayed_job = Delayed::Job.enqueue(JobWrapper.new(job.serialize), queue: job.queue_name, priority: job.priority) job.provider_job_id = delayed_job.id delayed_job end
#enqueue_at(job, timestamp)
This method is for internal use only.
[ GitHub ]
# File 'activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb', line 36
def enqueue_at(job, ) # :nodoc: delayed_job = Delayed::Job.enqueue(JobWrapper.new(job.serialize), queue: job.queue_name, priority: job.priority, run_at: Time.at()) job.provider_job_id = delayed_job.id delayed_job end