class Qmin::Strategy::Resque

Strategy to handle background calls and queuing of worker jobs with Resque This will only be available if the Resque constant is defined when you require ‘qmin’ If somehow this is not working for you, add:

require 'qmin/resque/background_call_job'
require 'qmin/resque/base_job'
require 'qmin/strategy/resque'

where needed

Methods that are annotated with “background_method” will be handled by the generic Qmin::Resque::BackgroundCallJob worker. It will automatically create a queue name based on the class and method it is working on.

So for example:

Protected Class Methods

job_class() click to toggle source
# File lib/qmin/strategy/resque.rb, line 43
def self.job_class
  ::Qmin::Resque::BackgroundCallJob
end

Public Instance Methods

background_call(instance, method_name) click to toggle source

@param klass Queue name is based on worker class and method name By default Qmin::Resque::BackgroundCallJob will handle jobs

# File lib/qmin/strategy/resque.rb, line 29
def background_call(instance, method_name)
  ::Resque.enqueue_to(queue_name(instance.class.name, method_name), self.class.job_class, instance.class.name, method_name, instance.id)
end
enqueue(worker_class, *args) click to toggle source

Just passes

# File lib/qmin/strategy/resque.rb, line 22
def enqueue(worker_class, *args)
  ::Resque.enqueue worker_class, *args
end

Protected Instance Methods

queue_name(klass_name, method_name) click to toggle source
# File lib/qmin/strategy/resque.rb, line 35
def queue_name(klass_name, method_name)
  [
    self.class.job_class.name.to_queue_name,
    klass_name.to_queue_name,
    method_name
  ].join('_')
end