Class: Saseo::Persistence::Consumer

Inherits:
Philotic::Consumer
  • Object
show all
Defined in:
lib/saseo/persistence/consumer.rb

Instance Method Summary collapse

Instance Method Details

#consume(message) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/saseo/persistence/consumer.rb', line 12

def consume(message)
  begin
    logger.debug { "received source version: #{message.id}" }
    Saseo::Persistence::Persistor.process message

    acknowledge message
  rescue => e
    reject message, true
    error_data = {
      saseo_consumer_error: true,
      message: e.message,
      error_class: e.class.name,
      trace: e.backtrace
    }

    logger.error { "rejected source version: #{error_data}" }

    # be sure to create a queue that monitors for saseo_consumer_error: true
    Philotic::Message.publish(error_data)
    raise e
  end
end