Module: Hutch

Defined in:
lib/hutch.rb,
lib/hutch/cli.rb,
lib/hutch/broker.rb,
lib/hutch/config.rb,
lib/hutch/waiter.rb,
lib/hutch/worker.rb,
lib/hutch/adapter.rb,
lib/hutch/adapter.rb,
lib/hutch/logging.rb,
lib/hutch/message.rb,
lib/hutch/tracers.rb,
lib/hutch/version.rb,
lib/hutch/consumer.rb,
lib/hutch/publisher.rb,
lib/hutch/exceptions.rb,
lib/hutch/adapters/bunny.rb,
lib/hutch/error_handlers.rb,
lib/hutch/serializers/json.rb,
lib/hutch/tracers/newrelic.rb,
lib/hutch/adapters/march_hare.rb,
lib/hutch/tracers/null_tracer.rb,
lib/hutch/serializers/identity.rb,
lib/hutch/acknowledgements/base.rb,
lib/hutch/error_handlers/logger.rb,
lib/hutch/error_handlers/sentry.rb,
lib/hutch/error_handlers/airbrake.rb,
lib/hutch/error_handlers/honeybadger.rb,
lib/hutch/acknowledgements/nack_on_all_failures.rb

Defined Under Namespace

Modules: Acknowledgements, Adapters, Config, Consumer, ErrorHandlers, Logging, Serializers, Tracers Classes: AuthenticationError, Broker, CLI, ConnectionError, Exception, Message, PublishError, Publisher, UnknownAttributeError, Waiter, Worker, WorkerSetupError

Constant Summary collapse

Adapter =
Adapters::BunnyAdapter
VERSION =
'0.22.1'.freeze

Class Method Summary collapse

Class Method Details

.brokerObject



53
54
55
# File 'lib/hutch.rb', line 53

def self.broker
  @broker
end

.connect(options = {}, config = Hutch::Config) ⇒ Object

Connects to broker, if not yet connected.

Parameters:

  • options (Hash) (defaults to: {})

    Connection options

  • config (Hash) (defaults to: Hutch::Config)

    Configuration

Options Hash (options):

  • :enable_http_api_use (Boolean)


42
43
44
45
46
47
# File 'lib/hutch.rb', line 42

def self.connect(options = {}, config = Hutch::Config)
  return if connected?

  @broker = Hutch::Broker.new(config)
  @broker.connect(options)
end

.connected?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/hutch.rb', line 58

def self.connected?
  broker && broker.connection && broker.connection.open?
end

.consumersObject



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

def self.consumers
  @consumers ||= []
end

.disconnectObject



49
50
51
# File 'lib/hutch.rb', line 49

def self.disconnect
  @broker.disconnect if @broker
end

.global_propertiesObject



33
34
35
# File 'lib/hutch.rb', line 33

def self.global_properties
  @global_properties ||= {}
end

.global_properties=(properties) ⇒ Object



29
30
31
# File 'lib/hutch.rb', line 29

def self.global_properties=(properties)
  @global_properties = properties
end

.loggerObject



25
26
27
# File 'lib/hutch.rb', line 25

def self.logger
  Hutch::Logging.logger
end

.publish(*args) ⇒ Object



62
63
64
# File 'lib/hutch.rb', line 62

def self.publish(*args)
  broker.publish(*args)
end

.register_consumer(consumer) ⇒ Object



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

def self.register_consumer(consumer)
  self.consumers << consumer
end