class CottonTail::Queue::Supervisor

A supervisor for a single queue

Public Class Methods

new(queue, app:) click to toggle source
# File lib/cotton_tail/queue/supervisor.rb, line 9
def initialize(queue, app:)
  @queue = queue
  @app = app
end

Public Instance Methods

run() click to toggle source

Start the supervisor, process all pending messages, and then stop

# File lib/cotton_tail/queue/supervisor.rb, line 19
def run
  @queue.close
  start.tap(&:join)
end
running?() click to toggle source
# File lib/cotton_tail/queue/supervisor.rb, line 24
def running?
  true & process.status
end
start() click to toggle source
# File lib/cotton_tail/queue/supervisor.rb, line 14
def start
  process
end

Private Instance Methods

process() click to toggle source
# File lib/cotton_tail/queue/supervisor.rb, line 30
def process
  @process ||= Reader.spawn(@queue, app: @app)
end