Class: ActiveJob::QueueAdapters::SidekiqAdapter

Inherits:
Object
  • Object
show all
Defined in:
activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb

Overview

Sidekiq adapter for Active Job

Simple, efficient background processing for Ruby. Sidekiq uses threads to handle many jobs at the same time in the same process. It does not require Rails but will integrate tightly with it to make background processing dead simple.

Read more about Sidekiq here.

To use Sidekiq set the queue_adapter config to :sidekiq.

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

Defined Under Namespace

Classes: JobWrapper

Class Method Summary collapse

Class Method Details

.enqueue(job) ⇒ Object

:nodoc:


19
20
21
22
23
24
25
26
# File 'activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb', line 19

def enqueue(job) #:nodoc:
  #Sidekiq::Client does not support symbols as keys
  Sidekiq::Client.push \
    'class' => JobWrapper,
    'wrapped' => job.class.to_s,
    'queue' => job.queue_name,
    'args'  => [ job.serialize ]
end

.enqueue_at(job, timestamp) ⇒ Object

:nodoc:


28
29
30
31
32
33
34
35
# File 'activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb', line 28

def enqueue_at(job, timestamp) #:nodoc:
  Sidekiq::Client.push \
    'class' => JobWrapper,
    'wrapped' => job.class.to_s,
    'queue' => job.queue_name,
    'args'  => [ job.serialize ],
    'at'    => timestamp
end