123456789_123456789_123456789_123456789_123456789_

Class: ActiveJob::QueueAdapters::BackburnerAdapter

Relationships & Source Files
Namespace Children
Classes:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: ActiveJob::QueueAdapters::AbstractAdapter
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 Backburnerhere.

To use Backburner set the queue_adapter config to :backburner.

{Rails.application}.config.active_job.queue_adapter = :backburner

Instance Attribute Summary

Instance Method Summary

Instance Method Details

#check_adapter

[ GitHub ]

  
# File 'activejob/lib/active_job/queue_adapters/backburner_adapter.rb', line 22

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)

This method is for internal use only.
[ GitHub ]

  
# File 'activejob/lib/active_job/queue_adapters/backburner_adapter.rb', line 29

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)

This method is for internal use only.
[ GitHub ]

  
# File 'activejob/lib/active_job/queue_adapters/backburner_adapter.rb', line 35

def enqueue_at(job, timestamp) # :nodoc:
  delay = timestamp - 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