Sha256: e1a0acd242af1f2cffcaa2b01aeb61965463aa62b26d770addf9a6b90cc7372d
Contents?: true
Size: 741 Bytes
Versions: 7
Compression:
Stored size: 741 Bytes
Contents
module Msgr # The Dispatcher receives incoming messages, # process them through a middleware stack and # delegate them to a new and fresh consumer instance. # class Dispatcher include Logging def call(message) dispatch message # Acknowledge message unless it is already acknowledged. message.ack unless message.acked? log(:warn) { "Message not acked!" } unless message.acked? end def dispatch(message) consumer_class = Object.const_get message.route.consumer log(:debug) { "Dispatch message to #{consumer_class.name}" } consumer_class.new.dispatch message rescue => error log(:error) { error } end def to_s self.class.name end end end
Version data entries
7 entries across 7 versions & 1 rubygems