Class: ActiveJob::QueueAdapters::BackburnerAdapter

Inherits:
AbstractAdapter
  • Object
show all
Defined in:
lib/active_job/queue_adapters/backburner_adapter.rb

Overview

Backburner adapter for Active Job

To use Backburner set the queue_adapter config to :backburner.

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

Defined Under Namespace

Classes: JobWrapper

Instance Method Summary collapse

Instance Method Details

#enqueue(job) ⇒ Object



12
13
14
15
16
# File 'lib/active_job/queue_adapters/backburner_adapter.rb', line 12

def enqueue(job)
  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



18
19
20
21
22
23
# File 'lib/active_job/queue_adapters/backburner_adapter.rb', line 18

def enqueue_at(job, timestamp)
  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