Sha256: 1ee0f440b8853717e6ddbb8182fda3f1adefa2b547567e364155a8b32532a372
Contents?: true
Size: 827 Bytes
Versions: 9
Compression:
Stored size: 827 Bytes
Contents
class Freddy module Producers class SendAndForgetProducer CONTENT_TYPE = 'application/json'.freeze def initialize(channel, logger) @logger = logger @exchange = channel.default_exchange @topic_exchange = channel.topic Freddy::FREDDY_TOPIC_EXCHANGE_NAME end def produce(destination, payload, properties) @logger.debug "Sending message #{payload.inspect} to #{destination}" properties = properties.merge(routing_key: destination, content_type: CONTENT_TYPE) json_payload = Payload.dump(payload) # Connection adapters handle thread safety for #publish themselves. No # need to lock these. @topic_exchange.publish json_payload, properties.dup @exchange.publish json_payload, properties.dup end end end end
Version data entries
9 entries across 9 versions & 2 rubygems