class Lagomorph::Supervisor
Public Class Methods
new(session)
click to toggle source
# File lib/lagomorph/supervisor.rb, line 7 def initialize(session) @session = session end
Public Instance Methods
route(queue_name, worker_class, options = {})
click to toggle source
# File lib/lagomorph/supervisor.rb, line 11 def route(queue_name, worker_class, options = {}) prefetch = options.fetch :prefetch, 1 durable = options.fetch :durable, false subscribers = options.fetch :subscribers, 1 subscribers.times.map do channel = @session.create_channel(prefetch) queue = QueueBuilder.new(channel).queue(queue_name, durable: durable) Subscriber.new(worker_class).subscribe(queue, channel) end end