Sha256: 0ab1401dc346ec7a114006aadd18df9651cd6fbb8f5c32740580148b2f4928db
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
require "hutch" module Hermes class Publisher::HutchAdapter def self.connect(configuration: Hermes::DependenciesContainer["hutch_config"]) Hutch::Config.set(:uri, configuration.uri) Hutch::Config.set(:force_publisher_confirms, true) Hutch::Config.set(:tracer, Hutch::Tracers::NewRelic) if Object.const_defined?("NewRelic") Hutch.connect(enable_http_api_use: false) end def initialize(configuration: Hermes::DependenciesContainer["hutch_config"]) self.class.connect(configuration: configuration) end def publish(routing_key, payload, properties = {}, options = {}) instrumenter.instrument("Hermes.Publisher.HutchAdapter.publish") do Hermes::DependenciesContainer["hutch"].publish(routing_key, payload, properties, options) end logger.log_published(routing_key, payload, properties, clock.now) end private def instrumenter DependenciesContainer["instrumenter"] end def logger DependenciesContainer["logger"] end def clock DependenciesContainer["clock"] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hermes-rb-0.2.0 | lib/hermes/publisher/hutch_adapter.rb |
hermes-rb-0.1.0 | lib/hermes/publisher/hutch_adapter.rb |