Class: GorgService::Consumer

Inherits:
Object
  • Object
show all
Defined in:
lib/gorg_service/consumer.rb,
lib/gorg_service/consumer/errors.rb,
lib/gorg_service/consumer/listener.rb,
lib/gorg_service/consumer/message_router.rb,
lib/gorg_service/consumer/message_handler.rb,
lib/gorg_service/consumer/message_handler/base.rb,
lib/gorg_service/consumer/message_handler/event_handler.rb,
lib/gorg_service/consumer/message_handler/reply_handler.rb,
lib/gorg_service/consumer/message_handler/request_handler.rb,
lib/gorg_service/consumer/message_handler/exception_manager.rb

Defined Under Namespace

Modules: MessageHandler Classes: FailError, HardfailError, Listener, MessageRouter, SoftfailError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment: GorgService.environment) ⇒ Consumer

Returns a new instance of Consumer.



14
15
16
# File 'lib/gorg_service/consumer.rb', line 14

def initialize(environment: GorgService.environment)
  @environment=environment
end

Instance Attribute Details

#environmentObject

Returns the value of attribute environment.



12
13
14
# File 'lib/gorg_service/consumer.rb', line 12

def environment
  @environment
end

Instance Method Details

#listenerObject



18
19
20
21
22
23
24
# File 'lib/gorg_service/consumer.rb', line 18

def listener
  @listener ||= Listener.new(
      env: environment,
      max_attempts: GorgService.configuration.rabbitmq_max_attempts.to_i,
      log_routing_key: GorgService.configuration.log_routing_key
  )
end

#runObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/gorg_service/consumer.rb', line 26

def run
  begin
    self.start
    puts " [*] Waiting for messages. To exit press CTRL+C"
    loop do
      sleep(1)
    end
  rescue SystemExit, Interrupt => _
    self.stop
  end
end

#startObject



38
39
40
# File 'lib/gorg_service/consumer.rb', line 38

def start
  listener.listen
end

#stopObject



42
43
44
# File 'lib/gorg_service/consumer.rb', line 42

def stop
  listener.stop
end