Module: Sidekiq::Corral

Defined in:
lib/sidekiq/corral.rb,
lib/sidekiq/corral/version.rb

Defined Under Namespace

Classes: Client, Error, Server

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.confine(queue) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/sidekiq/corral.rb', line 13

def confine(queue)
  orig_queue = current
  self.current = queue
  yield
ensure
  self.current = orig_queue
end

.currentObject



21
22
23
# File 'lib/sidekiq/corral.rb', line 21

def current
  Thread.current[:sidekiq_corral_queue]
end

.install(opts = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'lib/sidekiq/corral.rb', line 25

def install(opts = {})
  Sidekiq.configure_client do |config|
    config.client_middleware { |chain| chain.add(Sidekiq::Corral::Client, opts) }
  end

  Sidekiq.configure_server do |config|
    config.server_middleware { |chain| chain.add(Sidekiq::Corral::Server) }
    config.client_middleware { |chain| chain.add(Sidekiq::Corral::Client, opts) }
  end
end