class Sidekiq::Control::Worker::Instance

Constants

UnsupportedJobType

Attributes

job[R]

Public Class Methods

new(job) click to toggle source

@param [Class] job

# File lib/sidekiq/control/worker/instance.rb, line 12
def initialize(job)
  @job = job
end

Public Instance Methods

name() click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 16
def name
  job.name
end
other_perform_methods() click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 28
def other_perform_methods
  @other_perform_methods ||= job.singleton_methods(false).select { |m| m.to_s.start_with?('perform') }
end
params() click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 20
def params
  @params ||= worker_params.map { |e| Param.new(*e) }
end
queue() click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 24
def queue
  @queue ||= sidekiq_job? ? job.get_sidekiq_options['queue'] : job.queue_name
end
trigger(params, job_queue=nil) click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 32
def trigger(params, job_queue=nil)
  trigger_in(0, params, job_queue)
end
trigger_in(seconds, params, job_queue=nil) click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 36
def trigger_in(seconds, params, job_queue=nil)
  if sidekiq_job?
    Sidekiq::Client.enqueue_to_in(job_queue || queue, seconds, job, *params)
  elsif active_job?
    job.set(wait: seconds, queue: job_queue || queue).perform_later(*params)
  else
    raise UnsupportedJobType
  end
end

Private Instance Methods

active_job?() click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 52
def active_job?
  job <= ::ActiveJob::Base
end
sidekiq_job?() click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 48
def sidekiq_job?
  job <= ::Sidekiq::Worker
end
worker_params() click to toggle source
# File lib/sidekiq/control/worker/instance.rb, line 56
def worker_params
  job.instance_method(:perform).parameters
end