Module: TjScaleRuby::JobBackends

Defined in:
lib/tj_scale_ruby/job_backends.rb,
lib/tj_scale_ruby/job_backends/sidekiq.rb,
lib/tj_scale_ruby/job_backends/delayed_job.rb

Overview

Pluggable queue backends for worker metrics. Selected with TJ_SCALE_JOB_BACKEND (delayed_job, sidekiq, or auto — the default). auto prefers Sidekiq when the host app has it loaded, else Delayed Job.

Defined Under Namespace

Classes: DelayedJob, Sidekiq

Class Method Summary collapse

Class Method Details

.currentObject



11
12
13
# File 'lib/tj_scale_ruby/job_backends.rb', line 11

def self.current
  resolve(TjScaleRuby.configuration.job_backend)
end

.detectObject



23
24
25
# File 'lib/tj_scale_ruby/job_backends.rb', line 23

def self.detect
  defined?(::Sidekiq) ? Sidekiq : DelayedJob
end

.resolve(name) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/tj_scale_ruby/job_backends.rb', line 15

def self.resolve(name)
  case name.to_s
  when "sidekiq" then Sidekiq
  when "delayed_job" then DelayedJob
  else detect
  end
end