class Q::Methods::Sidekiq::QueueBuild
example class SinatraWorker
include Sidekiq::Worker def perform(msg="lulz you forgot a msg!") $redis.lpush("sinkiq-example-messages", msg) end
end
Public Class Methods
call(options={}, &job)
click to toggle source
# File lib/q/methods/sidekiq.rb, line 76 def self.call(options={}, &job) base = options[:base] queue_name = options[:queue_name] queue_klass_name = options[:queue_klass_name] raise Q::DuplicateQueueClassError.new(base, queue_klass_name) if Q.const_defined_on?(base, queue_klass_name) queue_klass = Class.new do include ::Sidekiq::Worker def perform(*args) @job.call(*args) end def self.job=(job) @job = job end def self.queue=(queue) @queue = queue end end queue_klass.job = job queue_klass.queue = queue_name queue_klass = base.const_set(queue_klass_name, queue_klass) return true end
job=(job)
click to toggle source
# File lib/q/methods/sidekiq.rb, line 90 def self.job=(job) @job = job end
queue=(queue)
click to toggle source
# File lib/q/methods/sidekiq.rb, line 94 def self.queue=(queue) @queue = queue end
Public Instance Methods
perform(*args)
click to toggle source
# File lib/q/methods/sidekiq.rb, line 86 def perform(*args) @job.call(*args) end