Module: Watership
- Defined in:
- lib/watership.rb,
lib/watership/version.rb,
lib/watership/consumer.rb,
lib/watership/subscriber.rb
Defined Under Namespace
Modules: Subscriber
Classes: Client, Consumer
Constant Summary
collapse
- CONNECTION_EXCEPTIONS =
[
Bunny::ClientTimeout,
Bunny::NetworkFailure,
Bunny::PossibleAuthenticationFailureError,
Bunny::TCPConnectionFailed
]
- CLEAR_CONNECTION_EXCEPTIONS =
[
Bunny::ConnectionError,
Bunny::ClientTimeout,
Timeout::Error
]
- CLEAR_CHANNEL_EXCEPTIONS =
[
Bunny::ChannelError,
Timeout::Error
]
- VERSION =
"1.0.0"
Class Method Summary
collapse
Class Method Details
.close(name) ⇒ Object
42
43
44
45
46
47
48
49
50
|
# File 'lib/watership.rb', line 42
def self.close(name)
if name == :all
registered.each do |(name, client)|
client.close
end
else
registered.fetch(name).close
end
end
|
.enqueue(name, opts) ⇒ Object
Also known as:
enqueue!
60
61
62
|
# File 'lib/watership.rb', line 60
def self.enqueue(name, opts)
registered.fetch(name.to_sym).enqueue(opts)
end
|
.logger ⇒ Object
56
57
58
|
# File 'lib/watership.rb', line 56
def self.logger
@logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
end
|
.logger=(logger) ⇒ Object
52
53
54
|
# File 'lib/watership.rb', line 52
def self.logger=(logger)
@logger = logger
end
|
.reconnect(name) ⇒ Object
32
33
34
35
36
37
38
39
40
|
# File 'lib/watership.rb', line 32
def self.reconnect(name)
if name == :all
registered.each do |(name, client)|
client.reconnect
end
else
registered.fetch(name).reconnect
end
end
|
.register(name, uri, env = 'production') ⇒ Object
24
25
26
|
# File 'lib/watership.rb', line 24
def self.register(name, uri, env = 'production')
registered[name.to_sym] = Client.new(uri, env)
end
|
.registered ⇒ Object
28
29
30
|
# File 'lib/watership.rb', line 28
def self.registered
@registered_instances ||= {}
end
|