Class: Legion::Apollo::Messages::Writeback
- Inherits:
-
Object
- Object
- Legion::Apollo::Messages::Writeback
- Includes:
- Logging::Helper
- Defined in:
- lib/legion/apollo/messages/writeback.rb
Overview
Envelope for publishing knowledge writeback events to the Apollo exchange.
Constant Summary collapse
- ROUTING_KEY =
'apollo.writeback'- EXCHANGE =
'apollo'
Instance Method Summary collapse
Instance Method Details
#publish(payload) ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/legion/apollo/messages/writeback.rb', line 15 def publish(payload) unless defined?(Legion::Transport) log.warn 'Apollo::Messages::Writeback publish skipped because Legion::Transport is unavailable' return end exchange = Legion::Transport::Exchange.new(EXCHANGE, type: :topic, auto_delete: false) exchange.publish(payload, routing_key: ROUTING_KEY) log.info { "Apollo::Messages::Writeback published routing_key=#{ROUTING_KEY} payload_bytes=#{payload.to_s.bytesize}" } end |