Sha256: 419f8b16fbd840a5df3739bd065972b82d83e3919433d82813b6fb623dab302d
Contents?: true
Size: 625 Bytes
Versions: 4
Compression:
Stored size: 625 Bytes
Contents
# frozen_string_literal: true require 'fiber' module CottonTail module Queue # A supervisor for a single queue class Supervisor def initialize(queue, on_message:) @queue = queue @on_message = on_message end def start process end # Start the supervisor, process all pending messages, and then stop def run @queue.close start.tap(&:join) end def running? true & process.status end private def process @process ||= Reader.spawn(@queue, on_message: @on_message) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems