Sha256: fe00e50a9be4f971e1351370db6bf9ad1bb6ad22f5db2ac85dc0c8cffb93c4c2
Contents?: true
Size: 825 Bytes
Versions: 3
Compression:
Stored size: 825 Bytes
Contents
require "glass_octopus/context" module GlassOctopus # @api private class Consumer attr_reader :connection, :processor, :logger def initialize(connection, processor, logger) @connection = connection @processor = processor @logger = logger end def run connection.fetch_message do |message| process_message(message) end end def shutdown connection.close end # Unit of work. Builds a context for a message and runs it through the # middleware stack. It catches and logs all application level exceptions. def process_message(message) processor.call(Context.new(message, logger)) rescue => ex logger.error("#{ex.class} - #{ex.message}:") logger.error(ex.backtrace.join("\n")) if ex.backtrace end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
glass_octopus-2.2.0 | lib/glass_octopus/consumer.rb |
glass_octopus-2.1.0 | lib/glass_octopus/consumer.rb |
glass_octopus-2.0.0 | lib/glass_octopus/consumer.rb |