class MagicPipe::Transports::Multi
Public Class Methods
new(config, metrics)
click to toggle source
Calls superclass method
MagicPipe::Transports::Base::new
# File lib/magic_pipe/transports/multi.rb, line 6 def initialize(config, metrics) super(config, metrics) @transports = build_nested_transports end
Public Instance Methods
submit!(payload, metadata)
click to toggle source
# File lib/magic_pipe/transports/multi.rb, line 12 def submit!(payload, metadata) @transports.map do |transport| begin transport.submit!(payload, metadata) rescue => e log_error(e, transport) end end end
Private Instance Methods
build_nested_transports()
click to toggle source
# File lib/magic_pipe/transports/multi.rb, line 26 def build_nested_transports @config.transport.map do |transport| klass = MagicPipe::Transports.lookup(transport) klass.new(@config, @metrics) end end
log_error(e, transport)
click to toggle source
# File lib/magic_pipe/transports/multi.rb, line 34 def log_error(e, transport) @logger.error( "[MagicPipe] Transports::Multi, error submitting with %{t} (%{e})." % { t: transport.class, e: e } ) end