class Asynk::Publisher
Public Class Methods
generate_message_id(legnth = 8)
click to toggle source
# File lib/asynk/publisher.rb, line 23 def generate_message_id(legnth = 8) SecureRandom.hex(legnth) end
publish(routing_key, params = {})
click to toggle source
# File lib/asynk/publisher.rb, line 6 def publish(routing_key, params = {}) global_start_time = Asynk::Benchmark.start if Asynk.config[:publisher_execution_time] message_id = params.delete(:message_id) || generate_message_id Asynk.broker.pool.with do |channel, exchange, reply_queue| exchange.publish(params.to_json, message_id: message_id, routing_key: routing_key) end if Asynk.config[:publisher_execution_time] Asynk.logger.info "Sending async message #{routing_key}:#{message_id} with params: #{params}. Completed In: #{Asynk::Benchmark.end(global_start_time)} ms." end end
sync_publish(routing_key, params = {})
click to toggle source
# File lib/asynk/publisher.rb, line 19 def sync_publish(routing_key, params = {}) Asynk::SyncPublisher.new(routing_key, params).send end