Sha256: 18dbdd3010d1b72fc5e1ed9a970bff9ad8b7b98d6cf281c89da62b63c311c5f8
Contents?: true
Size: 742 Bytes
Versions: 7
Compression:
Stored size: 742 Bytes
Contents
require 'mercury/mercury' require 'bunny' class Mercury class Sync class << self def publish(source_name, msg, tag: '', amqp_opts: {}, wait_for_publisher_confirms: true) conn = Bunny.new(amqp_opts) conn.start ch = conn.create_channel ch.confirm_select if wait_for_publisher_confirms # see http://rubybunny.info/articles/extensions.html and Mercury#enable_publisher_confirms ex = ch.topic(source_name, Mercury.source_opts) ex.publish(WireSerializer.new.write(msg), **Mercury.publish_opts(tag, {})) if wait_for_publisher_confirms ch.wait_for_confirms or raise 'failed to confirm publication' end ensure conn.close end end end end
Version data entries
7 entries across 7 versions & 1 rubygems