Module: Harmoniser::Connectable::ClassMethods

Defined in:
lib/harmoniser/connectable.rb

Instance Method Summary collapse

Instance Method Details

#connection(configuration = Harmoniser.configuration) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/harmoniser/connectable.rb', line 9

def connection(configuration = Harmoniser.configuration)
  MUTEX.synchronize do
    @connection ||= Connection.new(configuration.connection_opts, error_handler: configuration.error_handler)
    @connection.start unless @connection.open? || @connection.recovering_from_network_failure?
    @connection
  end
end

#connection?Boolean



17
18
19
# File 'lib/harmoniser/connectable.rb', line 17

def connection?
  !!defined?(@connection)
end

#create_channel(consumer_pool_size: 1, consumer_pool_shutdown_timeout: 60) ⇒ Object



21
22
23
24
25
# File 'lib/harmoniser/connectable.rb', line 21

def create_channel(consumer_pool_size: 1, consumer_pool_shutdown_timeout: 60)
  connection
    .create_channel(nil, consumer_pool_size, false, consumer_pool_shutdown_timeout)
    .yield_self { |bunny_channel| Channel.new(bunny_channel) }
end