Class: Chasqui::SidekiqWorker

Inherits:
Worker
  • Object
show all
Defined in:
lib/chasqui/workers/sidekiq_worker.rb

Class Method Summary collapse

Methods inherited from Worker

subscriber=

Class Method Details

.create(subscriber) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/chasqui/workers/sidekiq_worker.rb', line 9

def create(subscriber)
  find_or_build_worker(subscriber, Chasqui::SidekiqWorker).tap do |worker|
    worker.class_eval do
      include Sidekiq::Worker
      sidekiq_options queue: subscriber.queue
      @subscriber = subscriber

      def perform(event)
        Sidekiq.redis do |r|
          self.class.subscriber.perform r, event
        end
      end

      private

      def self.subscriber
        @subscriber
      end
    end
  end
end

.namespaceObject



5
6
7
# File 'lib/chasqui/workers/sidekiq_worker.rb', line 5

def namespace
  Sidekiq.redis { |r| r.respond_to?(:namespace) ? r.namespace : nil }
end