Class: ActiveJob::QueueAdapters::BackburnerAdapter
- Inherits:
-
AbstractAdapter
- Object
- AbstractAdapter
- ActiveJob::QueueAdapters::BackburnerAdapter
- Defined in:
- activejob/lib/active_job/queue_adapters/backburner_adapter.rb
Overview
Backburner adapter for Active Job
Backburner is a beanstalkd-powered job queue that can handle a very high volume of jobs. You create background jobs and place them on multiple work queues to be processed later. Read more about Backburner here.
To use Backburner set the queue_adapter config to :backburner.
Rails.application.config.active_job.queue_adapter = :backburner
Defined Under Namespace
Classes: JobWrapper
Instance Attribute Summary
Attributes inherited from AbstractAdapter
Instance Method Summary collapse
- #check_adapter ⇒ Object
-
#enqueue(job) ⇒ Object
:nodoc:.
-
#enqueue_at(job, timestamp) ⇒ Object
:nodoc:.
Methods inherited from AbstractAdapter
Instance Method Details
#check_adapter ⇒ Object
18 19 20 21 22 23 |
# File 'activejob/lib/active_job/queue_adapters/backburner_adapter.rb', line 18 def check_adapter ActiveJob.deprecator.warn <<~MSG.squish The built-in `backburner` adapter is deprecated and will be removed in Rails 9.0. Please upgrade `backburner` gem to version 1.7 or later to use the `backburner` gem's adapter. MSG end |
#enqueue(job) ⇒ Object
:nodoc:
25 26 27 28 29 |
# File 'activejob/lib/active_job/queue_adapters/backburner_adapter.rb', line 25 def enqueue(job) # :nodoc: response = Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority) job.provider_job_id = response[:id] if response.is_a?(Hash) response end |
#enqueue_at(job, timestamp) ⇒ Object
:nodoc:
31 32 33 34 35 36 |
# File 'activejob/lib/active_job/queue_adapters/backburner_adapter.rb', line 31 def enqueue_at(job, ) # :nodoc: delay = - Time.current.to_f response = Backburner::Worker.enqueue(JobWrapper, [job.serialize], queue: job.queue_name, pri: job.priority, delay: delay) job.provider_job_id = response[:id] if response.is_a?(Hash) response end |