Sha256: 744817685348c942ab3dfc671a9e448b381cdaaf97309f05cff82a2678ae2ef4
Contents?: true
Size: 1015 Bytes
Versions: 1
Compression:
Stored size: 1015 Bytes
Contents
require 'bunny' require 'yaml' require 'dotenv' Dotenv.load module Pernalonga class PernalongaApi def consume(klass, queue) @klass = klass ch = connect_channel ch.queue(queue) .subscribe(consumer_tag: 'pernalonga', block: true, manual_ack: true) do |delivery_info, _metadata, msg = q.pop| process_message msg ch.acknowledge(delivery_info.delivery_tag, false) end end def enqueue(queue, message) connect_channel.queue(queue).publish(message) end private def connection_parameters { host: ENV['BUNNY_HOST'], vhost: ENV['BUNNY_VHOST'], user: ENV['BUNNY_USER'], password: ENV['BUNNY_PASSWORD'] } end def connect_channel Bunny.new(connection_parameters).start.create_channel end def process_message(message) fail 'You must implement a custom process_message method' unless @klass.process_message(message) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pernalonga-0.1.0 | lib/pernalonga/pernalonga_api.rb |