Class: Q::Methods::Sidekiq::QueueBuild
- Inherits:
-
Object
- Object
- Q::Methods::Sidekiq::QueueBuild
- Defined in:
- lib/q/methods/sidekiq.rb
Overview
example class SinatraWorker
include Sidekiq::Worker
def perform(msg="lulz you forgot a msg!")
$redis.lpush("sinkiq-example-messages", msg)
end
end
Class Method Summary collapse
Class Method Details
.call(options = {}, &job) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/q/methods/sidekiq.rb', line 76 def self.call(={}, &job) base = [:base] queue_name = [:queue_name] queue_klass_name = [: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 |